Nacos注册中心

环境win11,jdk11,Nacos1.4.1,SpringBoot项目。

除了配置和Eureka不一样,其它都一样。

Nacos安装

GitHub的Release下载页:https://github.com/alibaba/nacos/releases

在bin目录:startup.cmd -m standalone,单机模式启动。

管理地址为:http://192.168.56.1:8848/nacos/index.html

 账号和密码都是Nacos。

添加Maven依赖

在父工程的pom.xml中添加依赖:

<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>

在子工程的pom.xml中添加依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

项目中配置Nacos

配置nacos注册中心的地址:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848  # nocos服务器地址

Nacos服务分级存储模型与调度问题

一个服务中可能有多个示例,Nacos根据地域来划分集群,相同地域的实例成为一个集群。

Nacos引入地域就是为了防止跨集群访问。

配置所在集群的名称:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848  # nocos服务器地址
      discovery:
        cluster-name: SH           # 所在的集群名字

在所有微服务的权重都为1的情况下:

配置指定服务名称所执行的方法,这里配置优先选择与自己在同一集群的微服务,在与自己同一集群的微服务中随机访问

userservice: # 要做配置微服务的名称
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

 Nacos跨集群访问时会有一个警告。

根据权重负载均衡

权重在0-1之间,数字越大权限越高,在Nacos的控制台中控制,权重为0时,不会被访问。

权重为0时,服务器需要更新重启时使用,重启后权重小一些先放小部分用户进来,没问题再加大权重。

在控制台更改权重后不需要重启微服务。

 环境隔离-namespace

结构:Namescpae包含Group,Group包含Service/Data。

一般是根据业务和地域划分,但是有时候会有开发环境、测试环境、生产环境的变化,要想做环境变化做隔离,就要用到namespace了。

同一命名空间的微服务只能与同一空间的微服务通信。 

命名空间在Nacos控制台中创建,如果不填写id,会自动生成uuid。

下面是配置命名空间的代码,namespace后面跟的是命名空间的id。

spring:
  cloud:
    nacos:
      server-addr: localhost:8848  # nocos服务器地址
      discovery:
        cluster-name: HZ
        namespace: 4d92420c-52d9-43e9-8b51-e27dd44dad86  #命名空间的uid

健康监测

Nacos默认会把微服务设置为临时示例。

临时实例:微服务向Nacos发送心跳信息,临时实例挂了时会被从列表中踢除

非临时实例:Nacos向微服务发送信息询问还活着吗,非临时实例挂了时不会被从列表中踢除,只会标记为不健康了,会等着这个服务恢复

Eureka客户端每隔30s向服务器拉取服务信息。

Nacos客户端每隔30s向服务器拉取服务信息,有服务挂了的时候会主动向客户推送变更消息

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值