去年上手 Spring Cloud,今年开始学习 Spring Cloud Alibaba,准备分享一些干货和重要的知识点。
Nacos 致力于发现、配置、管理微服务,在功能上可以看做与 Eureka、Zookeeper、Consul 等类似,但又存在特点区别的组件,就比如 Nacos 还拥有管理配置的能力,这一点是其他的服务发现组件所没有的。
sh startup.sh -m standalone
Nacos 作为 Spring Cloud Alibaba 的一个组件,我们为了更好的管理 Nacos 及其他组件的版本,我们在 Maven 中整合 Spring Cloud Alibaba,当然整合 Spring Cloud Alibaba 前还需要整合 Spring Cloud。
<dependencyManagement> <dependencies> <!-- 整合Spring Cloud --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Greenwich.SR1</version> <type>pom</type> <scope>import</scope> </dependency> <!-- 整合Spring cloud Alibaba --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>0.9.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
对于 Spring Cloud 和 Spring Cloud Alibaba 之间的版本依赖关系,建议参考官方文档,瞎引用容易出大事情。
整合好后的第一件事就是添加 Nacos 依赖,无须再重复指定版本。
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
配置只需要指定该微服务实例的名称,已经 Nacos Server 的地址和端口号,其实当完成好这一步时你的微服务就已经注册到 Nacos Server 里了,此时打开服务发现中心的地址就可以查看当前服务注册情况。无须再加任何注解,对比其他微服务注册中心 Nacos 也是更为便捷。
spring: cloud: nacos: discovery: server-addr: 127.0.0.1:8848 application: name: your-app-name
服务发现的领域模型,Nacos 从大到小分为以下5个领域模型:
DEFAULT_GROUP