Nacos简单使用

本文介绍了Nacos作为注册中心的功能和优势,包括其在SpringCloud中的使用、配置、服务分级存储模型以及与Eureka的对比。Nacos提供服务跨集群调用策略,支持权重配置以优化访问频率,并通过namespace实现环境隔离。此外,还探讨了Nacos的心跳检测机制和负载均衡规则。
摘要由CSDN通过智能技术生成

Nacos注册中心

阿里巴巴提供,现已被SpringCloud所使用,比Eureka功能更加强大

导入

Maven Repository: com.alibaba.nacos » nacos-client (mvnrepository.com)

可以在上面的maven仓库中选择自己想要使用的版本

默认是8848端口(成功人士标配,也是珠穆朗玛峰的高度)

父工程导入

在这里插入图片描述

客户端导入

pom先导入依赖

  <!-- nacos客户端依赖包 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

配置文件修改

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

Nacos服务分级存储模型

服务跨集群调用问题

服务调用尽可能选择本地集群的服务,跨集群调用延迟高,本地集群不可访问时,再去访问其他集群

配置集群

spring:
  datasource:
    url: jdbc:mysql://mysql:3306/cloud_order?useSSL=false
    username: root
    password: 123
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: orderservice
  cloud:
    nacos:
      server-addr: nacos:8848
      discovery:
      	cluster-name: GZ #集群名称,这里代指中国

调用本地集群就去消费者里面设置

 cloud:
    nacos:
      server-addr: nacos:8848
      discovery:
      	cluster-name: GZ #集群名称,这里代指中国

修改负载均衡规则,优先选择本地集群

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # 负载均衡规则
根据权重负载均衡

实际部署中会出现这样的场景

  • 服务器设备性能有差异,部分实例所在机器性能较好,另一些差,我们希望性能好的机器承担更多的用户请求

Nacos提供了权重来控制访问频率,权重越大则访问频率越高

在Nacos控制台端修改权重

意义:当服务器升级时,修改权重为0,升级完成后,修改权重为较小的值,测试没有问题,再慢慢升级权重

环境隔离 -namespace

Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离

默认都是public默认空间

 discovery:
       namespace: 4d6ce343-9e1b-44df-a90f-2cf2b6b3d177 # dev环境

不同namespace下的服务是不可见的

nacos与Eureka的对比

Eureka与nacos拉取完之后有服务列表缓存,防止每次都去注册中心请求

服务提供者每隔一段时间会向注册中心发送一次心跳,nacos快一些,Eureka慢一些

nacos对于临时实例采用心跳检测,临时实例每隔一段时间去发送心跳,而非临时实例则是注册中心发送心跳

nacos不会去除非临时实例,仅会标记他不健康了,对于临时实例,没有心跳就直接剔除

Eureka采用的是pull,即定时拉取,而nacos采用pull加push,定时拉取和主动推送,当有服务挂了,立即推送

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值