1. Nacos简介
2018年6月,Eureka 2.0宣布闭源(但是1.X版本仍然为活跃项目),同年7月份,阿里Nacos宣布开源.并快速成为国内最受关注开源产品.作为Eureka的替代,Nacos已经成为了国内开发者的首选,目前NacosStar已经突破28K(Eureka 12K) 下图中都是使用Nacos的企业
官网:Nacos官网| Nacos 配置中心 | Nacos 下载| Nacos 官方社区 | Nacos 官网
仓库:https://github.com/alibaba/nacos
2. Nacos安装
进入仓库选择自己系统合适的版本,点击下载。
下载后解压然后启动,Nacos默认是集群模式。如果直接启动就会报错。
需要修改为单机模式,然后再启动。修改bin下面的startup脚本:
MODE从集群修改为单机即可
然后双击启动脚本
访问控制台
如果是Unbuntu环境的话,直接将zip文件上传到服务器,然后解压,使用sh脚本启动即可。记得提前开放端口
备注:如果端口号冲突的话,可以在配置文件中修改Nacos启动的默认端口号。
3. 快速上手
javaSE: 这里存放的是javaSE学习代码 - Gitee.com
3.1 服务注册/服务发现
Nacos的服务注册和服务发现代码⼀样 ,d代码放在了我的码云:
javaSE: 这里存放的是javaSE学习代码 - Gitee.com
引入Spring Cloud Alibaba依赖
在父工程的pom文件中的<dependencyManagement>中引入Spring Cloud Alibaba的依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
注意: Spring Boot 和Spring Cloud的版本是有⼀定对应关系的. Spring Cloud Alibaba也遵循
Spring Cloud 的标准, 在引⼊依赖时, ⼀定要确认各个版本的对应关系.
Spring Cloud Alibaba 和Spring Cloud版本对应关系, 参考官⽅⽂档:
https://sca.aliyun.com/zh-cn/docs/2022.0.0.0/overview/version-explain/
版本在⼀定范围内可以⾃由选择.
引入Nacos依赖
在order-service和product-service中引⼊nacos依赖和loadbalance依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
配置Nacos地址和服务名称
3.2 远程调用
修改ip为服务名
为RestTemplate添加@LoadBalanced注解
3.3 启动多个服务观察注册中心
访问接口观察输出的日志,结果是请求没均衡到每台服务上。