SpringCloud——Nacos

请添加图片描述
个人名片:

博主酒徒ᝰ.
个人简介沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志三人行,必有我师焉。

请添加图片描述
本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 点击观看

一、安装

从资料中直接解压即可
image.png
启动: 在bin目录中,双击startup.cmd或命令行(.\startup.cmd -m standalone)启动。

二、服务注册

  1. 添加父类
<!--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>
  1. 注释掉user-service和order-service中的pom.xml中的eureka依赖
  2. 添加nacos依赖
<!--nacos客户端-->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
  1. 注释掉user-service和order-service中的application.yml中的eureka地址,添加server-addr
spring:
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos服务地址

三、集群

  1. 添加集群名
spring:
  cloud:
    nacos:
      discovery:
        cluster-name: HZ # 配置集群名
  1. 重新启动userapplicationuserapplication1

注意:两个都启动

  1. 修改集群名
spring:
  cloud:
    nacos:
      discovery:
        cluster-name: SH # 配置集群名
  1. 重新启动userapplicationuserapplication1

注意:只启动一个

  1. 效果:

image.png

四、负载均衡

  1. 在order-service中的application.yml中添加服务端地址与集群名称
spring:
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: SH # 配置集群名
  1. 修改之前配置过的负载均衡规则
userservice:
  ribbon:
#    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则 随机
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # 负载均衡规则 优先会寻找与自己同集群的服务 SH

五、权重设置

在nacos启动后的浏览器页面设置。
image.png

六、环境隔离

  1. 通过命名空间设置新的空间image.png
  2. 隔离哪个模块在哪个模块的application.yml中命名,这里以order-service为例
spring:
  cloud:
    nacos:
      discovery:
        namespace: 1b5eb97f-62b6-46f4-855f-4f9e47292d79 # 命名空间  ID

注意:此时无法访问order数据。

七、实例

  1. 是否开启临时实例
spring:
  cloud:
    nacos:
      discovery:
        ephemeral: false # 是否是临时实例
  1. 区别:

当相应的模块挂掉时
临时实例,检测缓慢(心跳模式),之后剔除。
非临时实例,检测迅速(主动检测),不会剔除

猜你喜欢

转载自blog.csdn.net/m0_65144570/article/details/127080809