基于SpringCloud的微服务架构学习笔记(3)注册中心和配置中心Nacos
创始人
2024-06-01 23:33:24

1.9 Nacos注册中心

1.9.1 Nacos说明

Nacos是阿里巴巴的产品,现在是SpringCloud的一个组件,相比Eureka功能更加丰富

1.9.2 Nacos的启动(解压即安装)

1)解压,进入bin目录
2)在bin目录中,进入cmd模式
3)敲入:startup.cmd -m standalone
4)进入网站:http://127.0.0.1:8848/nacos,密码和账户均为nacos

1.9.3 配置

  1. 在cloud-demo父工程中添加spring-cloud-alilbaba的管理依赖:
            com.alibaba.cloudspring-cloud-alibaba-dependencies2.2.6.RELEASEpomimport
  1. 注释掉order-service和user-service中原有的eureka依赖。添加nacos的客户端依赖:
        com.alibaba.cloudspring-cloud-starter-alibaba-nacos-discovery
  1. 修改user-service&order-service中的application.yml文件,注释eureka地址,添加nacos地址:
    spring:cloud:nacos:server-addr: nacos:8848 # nacos服务地址
  1. 小结:更改配置,就是依赖和配置文件的变更。

1.9.4 Nacos的服务分级存储模型

1)模型:服务-》集群-》实例
user-service-》北京集群/上海集群/深圳集群-》8081/8082/8083

2)为什么要采用集群 集群是按照机房区域划分的,为了服务调用尽量使用本地集群服务,降低服务调用时延。 修改application.yml文件,spring.cloud.nacos.discovery.cluster-name添加属性

3)服务实例设置集群
在启动前修改配置,然后启动,就会给一个服务设置

```java spring: cloud: nacos: server-addr:localhost:8848 # nacos 服务端地址 discovery: cluster-name: HZ # 配置集群名称,也就是机房位置,例如:HZ,杭州 ``` ### 1.9.5 根据权重负载均衡 1. 为什么要有这个功能 有一些机子比较老,不承担很多的工作量; 在系统更新的时候,可以小范围更新,没有问题,再慢慢更新,不影响用户体验。 2. 如何更新 直接在nacos界面中修改,里面有一个改权重的地方。权重越高,访问频次越高,为0时不访问。

1.9.6 环境隔离namespace–配置功能

Nacos除了是注册中心外,还是一个配置中心

  1. 这是什么功能,为什么需要再分组
    在服务之上,还有一个分组,即为Group和Namespace,不是必须,其中Namespace下的分组目的是为了方便后续不同环境下的配置(例如开发环境dev,测试环境UAT,生产环境Prod)
  1. 如何进行配置

1)在nacos中创建新的命名空间,获取对应空间的id

2)在配置文件中添加命名空间的选取

cloud:    nacos:      server-addr:localhost:8848      discovery:        cluster-name: SH # 上海        namespace:492a7d5d-237b-46a1-a99a-fa8e98e4b0f9 # 命名空间,填ID
  1. 小结
    1)每一个namespace的id是唯一的
    2)服务设置namespoace是要填写的是id,而不是名称
    3)不同namespace下的服务是互相不可见的

1.9.7 nacos注册中心的细节

  1. 服务提供者:把拥有的服务信息传输给注册中心登记
  2. 注册中心对服务提供者服务的更新
    1)对于临时实例:服务提供者中的服务每隔一个心跳时间(30s)向注册中心信息更新
    2)对于非临时实例:注册中心每次主动向服务提供者询问
  3. 服务消费者获取有效的服务列表(存在服务列表缓存)
    1)对于临时实例:消费者定时向注册中心拉去服务列表
    2)对弈非临时实例:实例的新增和删除会主动推送给服务消费者。()

1.9.8 Nacos与Eureka的对比

  1. 相同点
    1)度支持服务注册和服务拉取
    2)都支持服务提供者心跳方式做健康监测
  2. 不同点(Nacos额外功能)
    1)临时实例心跳不正常会被提出,而非临时实例不会被剔除
    2)Nacos支持服务列表变更的消息推送模式,更新更加快捷

图片:

红色字体

用于复制

相关内容

热门资讯

金风科技股价涨5.68%,新疆... 12月23日,金风科技涨5.68%,截至发稿,报17.85元/股,成交15.64亿元,换手率2.67...
三维天地跌2.09%,成交额2... 12月23日,三维天地盘中下跌2.09%,截至10:16,报34.61元/股,成交2920.46万元...
易方达纳斯达克100ETF(Q... 数据显示,12月22日,易方达纳斯达克100ETF(QDII)(159696)获净申购354.86万...
金风科技股价涨5.68%,万家... 12月23日,金风科技涨5.68%,截至发稿,报17.85元/股,成交15.70亿元,换手率2.68...
金风科技股价涨5.68%,民生... 12月23日,金风科技涨5.68%,截至发稿,报17.85元/股,成交15.72亿元,换手率2.68...