赞
踩
nacos的管理依赖,复制到pom.xml文件
复制到客户端的pom.xml中
引入机房或称为地域的概念,把在同一个机房的多个实例称为一个集群
直接找实例不好吗?为什么要划分集群?
是为了尽可能防止跨集群调用
步骤如下:
比如说有三个实例,分别为userservice1、userservice2、userservice3
设置前两个为杭州集群,最后一个为青岛集群
那么首先修改yml文件为HZ,启动1和2;然后将当前yml文件中的HZ修改为QD,然后启动3,此时不要再重新启动1和2了,否则1和2会变成QD集群的。
最终想让orderservice调用userservice时,优先选择本地集群,所以也给orderservice设置集群属性。
在orderservice的yml文件中的spring: 下面配置
此时,orderservice与userservice1和2都在杭州集群,但经过测试发现,userservice1、2和3都被访问,即都被轮询访问了,并没有优先访问同集群的
我们知道服务在选择实例时的规则是由负载均衡实现的,要想实现优先同集群访问的负载均衡规则,需要去修改负载均衡。
第2步在yml文件中
在本地集群内的多个服务当中,再采用随机方式进行负载均衡
当userservice1和2停掉服务之后,orderservice的访问会怎么样?
会在idea中报警告
如何控制不同服务的请求量?
将userservice1 的权重修改为0.1
权重调成0时,就不会被访问,有什么作用?
在做服务升级时,有多个服务器,可以将某个服务器的权重设置为0,然后对其停机,升级完再重启,然后其权重自小变大,慢慢调,做个测试(平滑升级)
Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层的隔离
service下面是集群,集群下面是不同实例;
可以基于开发环境、测试环境进行隔离
把业务相关度比较好的服务放到一个组
临时实例:将来可以人为地把服务停掉,采用心跳检测,会剔除
非临时实例:nacos会主动发请求询问是否存活,nacos不会把实例从列表中剔除,只会标记不健康了,等着服务恢复健康
Eureka每隔30秒会再去拉取一次进行更新
ephemeral:短暂的
Eureka 对于 服务列表更新得不及时,Nacos会做主动推送,更新更及时,效率更高
Nacos集群更强调服务(数据)的可用性,存在非临时实例时,数据可靠性更重要,CP强调数据可靠性和一致性;Eureka默认采用AP,不支持切换
Data ID: 配置文件的名称,一般以 “微服务名称-环境名称.yaml” 命令
group: 类似于Java中的包,用来对不同类型的微服务配置文件进行分组管理
因为 bootstrap.yml文件的启动优先级高于application.yml,所以可以把nacos地址放在bootstrap.yml文件中,然后再联合本地配置文件
尽量使用这个注解,通过拼接前缀和dateformat,就可以完成自动加载。
需要先注入到一个对象中去
比如在开发、测试中的值都是一样的,就可以用一份
多环境共享配置
nacos启动,不用加 -m参数,直接启动即可,启动命令为 startup.cmd
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。