原文档
注册中心
https://github.com/alibaba/spring-cloud-alibaba/blob/2022.x/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/readme-zh.md
配置中心
https://github.com/alibaba/spring-cloud-alibaba/blob/2022.x/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/readme-zh.md
注册中心nacos使用步骤
- 添加依赖
<!-- 服务注册/发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- 下载nacos部署在win或者linux上运行
下载地址
我部署在了Linux上,记得把Linux的防火墙关闭,不然window连不上服务。
#启动nacos服务的命令,就可以通过浏览器访问到注册中心了 ip:8848/nacos
sh startup.sh -m standalone
- 在工程的配置文件加上添加基本配置信息(注册中心里的名字不要使用"_“要使用”-"),下面是错误示范
- 加上注解,并开启服务
Feign远程调用步骤
- 什么是远程调用就是说我现在有两个独立的服务,如图
我现在想查看某个会员的优惠卷使用情况,但是会员和优惠卷是两个独立的服务,那该怎么办呢?Feign 是一个声明式的 HTTP 客户端,它的目的就是让远程调用更加简单。 - 主动调用另外一个服务的服务导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
- 被调用的服务编写一个测试接口,注意下面的键应该是coupons
- 主动去调用的接口。注解里的名字改掉,因为我遇到了一个错误,参考
https://blog.csdn.net/weixin_43453386/article/details/108863826
- 调用远程服务的url获取数据
- 启动类加上注解后就可以启动了
- 访问member的服务api,同时也得到了coupons的数据了
配置中心nacos的使用步骤
- 导入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 新建bootstrap.properties文件
- 编写测试接口
- 问题
那么如果我们想修改名称和年龄,是不是就要改掉application.propertics里的值然后重新运行该服务,这对于正在运行的程序是不现实的,这是后我们就可以使用nacos的配置中心来管理这些配置并统一修改,就不用重新运行程序了 - 配置到配置中心(这个地址我需要使用虚拟机里的ip而不是127.0.0.1,下面是错误示范)
把这个名称gulimall-coupon.properties复制到下图操作
把application.propertics里的配置内容复制到这里,然后点击"发布"按钮
然后再controller对应的类上加上注解
- 重新启动该服务程序然后在配置中心动态修改配置重新发送请求就可以了