1.微服务多实例(IDEA)
1.1右键实例
1.2配置端口防止冲突(-Deserver.port=xxxx)
2.Nacos
2.1单机模式启动(windows)命令
startup.cmd -m standalone
2.2 启动成功效果图
2.3Nacos的依赖
2.3.1父工程依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
2.3.2 客户端依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.3.3 yml配置文件中的配置
cloud:
nacos:
server-addr: localhost:8848 #nacos的服务地址
2.4 nacos服务注册
2.4.1导入nacos,discover依赖
2.4.2配置nacos地址spring.cloude.nacos.server-addr
2.4.3微服务注册成功
2.5 nacos的集群属性
2.5.1配置集中的yml配置
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: HZ
2.5.2配置为HZ集群
2.5.3配置优先调用本地集群,修改负载均衡的规则
1.优先选择同集群服务实例列表
2.本地集群找不到对应的微服务,才去其它集群寻找,并且报出警告信息
3.确定了在本地集群有可用实例列表之后,再采用随机负载均衡策略挑选实例
userservice:#要做配置的微服务名称
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule
2.6 根据权重负载均衡
在nacos控制台找到服务列表之后点击编辑的微服务,将权重列为0.1,会大大降低该微服务被调用的频率
权重越高的微服务被调用的频率会越高
2.7环境隔离
新建命名空间,id默认随机生成
在微服务的yml文件下填写namespace,注意填的是命名空间的id
2.8 nacos配置管理
2.8.1 在Ncaos中添加配置文件
Date_ID 为微服务名称-生产环境.yaml,文件格式选择yaml
2.8.2 springboot启动配置获取的顺序如下
如图,在读取application.yml之前会先读取bootstrap.yml,故需要将nacos的地址等信息写在bootstrap.yml文件中
2.8.3 nacos的配置管理依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.8.4 bootstrap.yml:
spring:
application:
name: userservice #微服务名称
profiles:
active: dev #开发环境
cloud:
nacos:
server-addr: localhost:8848 #Nacos 地址
config:
file-extension: yaml #文件后缀名
discovery:
cluster-name: HZ