Spring Cloud Alibaba 服务发现例子
- 一、需求
- 二、实现步骤
一、需求
完成一个简单的例子,使用 Spring Cloud Alibaba
完成服务的注册与发现
1、提供者完成的功能
1、服务提供者注册到nacos
上
spring.cloud.nacos.discovery.register-enabled = true
2、配置元数据信息
spring.cloud.nacos.discovery.metadata (key value) 格式
2、消费者完成的功能
1、只作为消费者,不注册到 nacos
上
spring.cloud.nacos.discovery.register-enabled = false
2、自定义注册到 nacos
上的服务名
自定义注册到 nacos 上的服务名,默认是获取的spring.application.name的值
3、配置nacos
的服务地址
spring.cloud.nacos.discovery.server-addr=地址,不需要[http|https]
4、nacos
集成ribbon
ribbon.nacos.enabled=true true=集成,false=不集成
3、可以附加的额外配置
1、配置命名空间,用于区分不同的环境,比如 dev、local等,需要写 命名空间ID 的值
spring.cloud.nacos.discovery.namespace
2、配置组,不同的服务可以划分到一个组,默认是 DEFAULT_GROUP
spring.cloud.nacos.discovery.group
3、配置集群,默认值是 DEFAULT
spring.cloud.nacos.discovery.cluster-name
二、实现步骤
1、总的依赖引入
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR8</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2、服务提供者和发现者,引入服务发现依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
3、代码实现
代码就是 普通的 spring boot 代码,测试微服务之间的调用,可以通过 ribbon
或 feign
等。此处略,参考下方的代码实现。
三、代码实现
https://gitee.com/huan1993/spring-cloud-alibaba-parent/tree/master/nacos-discovery
四、参考文档
1、Spring Cloud Alibaba 和 Spring Cloud 以及 Spring Boot 之间版本的选择
https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
2、Spring Cloud Alibaba 服务发现例子
官方例子