Alibaba Nacos快速入门(三)
# 前言
本文主要讲解Nacos作为注册中心使用,服务注册与发现以及整合Feign客户端调用。使用SpringCloud与Nacos版本:2021.0.0->2021.1
# 创建生产者工程
nacos-product
# 引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.1</version>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 启动类添加注解@EnableDiscoveryClient
@EnableDiscoveryClient
@SpringBootApplication
public class NacosProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosProviderApplication.class, args);
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 添加一个Rest服务接口
@RestController
public class ProductController {
@RequestMapping(value = "/getProduct",method = RequestMethod.GET)
public String createProduct(){
return "my product";
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 修改配置文件
server.port=8081
spring.application.name=nacos-product
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=localhost:8848
1
2
3
4
2
3
4
# 创建消费者工程
nacos-consumer
# 引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.1</version>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
说明:这里我们引入了feign,则还需要引入loadbalancer作负载均衡,否则报错。因为前面我们讲的eureka-client里面是包含loadbalancer,而nacos-discovery则不包含
# 启动类添加注解@EnableDiscoveryClient与@EnableFeignClients
@EnableDiscoveryClient
@EnableFeignClients
@SpringBootApplication
public class NacosConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConsumerApplication.class, args);
}
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 声明Feign调用代理接口
@FeignClient(name = "nacos-product")
public interface FeignProxy {
@GetMapping("/getProduct")
public String getProduct();
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 添加调用测试接口
@RestController
public class TestController {
@Autowired
FeignProxy feignProxy;
@GetMapping("product")
public String getProduct(){
return feignProxy.getProduct();
}
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 修改配置文件
server.port=8082
spring.application.name=nacos-consumer
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=localhost:8848
1
2
3
4
2
3
4
# 启动Nacos,启动两个服务
以上篇文章所讲的单机模式启动
登录查看控制台
此时可看到了我们注册的两个服务已经成功注册到Nacos
调用测试:http://localhost:8082/product
# 总结
Nacos作为注册中心使用,和Eureka比较起来,使用基本一样,使用者可平滑过渡,当然Nacos有更完善的管理界面及更多的配置支持。后续将探索更多相关知识,学习永无止境,继续加油!
最后更新时间: 2024/03/15, 17:35:22