Nacos注册中心
认识和安装Nacos
Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试运行:bash startup.sh -m standalone
安装nacos出现报错, 主要是配置数据库及其tomcat
参考: https://blog.csdn.net/qq_44377709/article/details/119154631
登录地默认密码账户都是 : nacos
服务注册到nacos
操作步骤
- 引入依赖
在cloud-demo父工程的pom文件中的
1 | <dependency> |
然后在user-service和order-service中的pom文件中引入nacos-discovery依赖:(出现依赖错误地问题。已解决)
1 | <dependency> |
需要注释掉eureka的依赖
- 配置nacos地址
在user-service和order-service的application.yml中添加nacos地址:
1 | spring: |
- 重启项目
重启微服务后,登录nacos管理页面,可以看到微服务信息:
==注意: 启动之前需要将nacos文件下的data删除, 然后再重新启动。成功启动==
服务分级存储模型
一个服务可以有多个实例,例如我们的user-service,可以有:
- 127.0.0.1:8081
- 127.0.0.1:8082
- 127.0.0.1:8083
假如这些实例分布于全国各地的不同机房,例如:
- 127.0.0.1:8081,在上海机房
- 127.0.0.1:8082,在上海机房
- 127.0.0.1:8083,在杭州机房
Nacos就将同一机房内的实例 划分为一个集群。
user-service是服务,一个服务可以包含多个集群,如杭州、上海,每个集群下可以有多个实例,形成分级模型,如图:
微服务互相访问时,应该尽可能访问同集群实例,因为本地访问速度更快。当本集群内不可用时,才访问其它集群。例如:
杭州机房内的order-service应该优先访问同机房的user-service。
操作
- 添加新的集群 ,然后将这台服务器放置在HZ集群下。
修改user-service的application.yml
1 | spring: |
重启两个user-service实例后,我们可以在nacos控制台看到下面结果:
==注意: 是改了之后启动程序application 1、2。 然后再改cluster-name为SH, 再启动最后一个application3 这样才会出现application 1、2集群在SH , application3在HZ的这种效果。==