运行环境
- utubun
- JDK8
- SpringCloud:Hoxton.SR9
- SpringBoot:2.2.11.RELEASE
- spring-cloud-alibaba-dependencies:2.2.1.RELEASE
- Nacos-server:1.3.2
客户端构建
新建一个dome1项目,添加maven依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--openfeign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
在application.properties加入
spring.application.name=demo1
spring.cloud.nacos.discovery.server-addr=http://localhost:8848
server.port=8081
启动demo1服务,然后服务会自动注册到nacos服务器上,新版本引入spring-cloud-starter-alibaba-nacos-discovery依赖,会自动服务注册与发现
复制demo1,构建一个demo2,然后修改端口号,启动注册
demo1准备调用demo2接口,在demo1启动类上加
@EnableFeignClients 注解
添加demo2调用client
demo2服务添加暴露的接口
demo1调用demo2的接口,返回demo2
nacos配置中心使用
以demo1为例,因为直接使用nacos为服务注册中心,只需要添加
spring.cloud.nacos.config.enabled=true
在nacos控制台添加配置,配置名要和服务名一致
peizhi
在demo1获取配置里面的属性值,官方推荐是使用spring的注解@value,还有配置自动更新搭配@RefreshScope,即可实现