个人名片:
博主:酒徒ᝰ.
个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志:三人行,必有我师焉。
本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 点击观看
一、安装
从资料中直接解压即可
启动: 在bin目录中,双击startup.cmd或命令行(.\startup.cmd -m standalone)启动。
二、服务注册
- 添加父类
<!--nacos服务端-->
<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>
- 注释掉user-service和order-service中的pom.xml中的eureka依赖
- 添加nacos依赖
<!--nacos客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
- 注释掉user-service和order-service中的application.yml中的eureka地址,添加server-addr
spring:
cloud:
nacos:
server-addr: localhost:8848 # nacos服务地址
三、集群
- 添加集群名
spring:
cloud:
nacos:
discovery:
cluster-name: HZ # 配置集群名
- 重新启动userapplication和userapplication1
注意:两个都启动
- 修改集群名
spring:
cloud:
nacos:
discovery:
cluster-name: SH # 配置集群名
- 重新启动userapplication或userapplication1
注意:只启动一个
- 效果:
四、负载均衡
- 在order-service中的application.yml中添加服务端地址与集群名称
spring:
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: SH # 配置集群名
- 修改之前配置过的负载均衡规则
userservice:
ribbon:
# NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则 随机
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则 优先会寻找与自己同集群的服务 SH
五、权重设置
在nacos启动后的浏览器页面设置。
六、环境隔离
- 通过命名空间设置新的空间
- 隔离哪个模块在哪个模块的application.yml中命名,这里以order-service为例
spring:
cloud:
nacos:
discovery:
namespace: 1b5eb97f-62b6-46f4-855f-4f9e47292d79 # 命名空间 ID
注意:此时无法访问order数据。
七、实例
- 是否开启临时实例
spring:
cloud:
nacos:
discovery:
ephemeral: false # 是否是临时实例
- 区别:
当相应的模块挂掉时
临时实例,检测缓慢(心跳模式),之后剔除。
非临时实例,检测迅速(主动检测),不会剔除