Nacos注册及使用

一、简介

Nacos是阿里云开源的一个服务发现、配置管理和服务鉴权平台,它提供了一种更简单、更便捷、更开放的方式来管理服务,帮助开发者快速实现服务的发现、配置的管理、服务的鉴权等功能。Nacos可以帮助开发者轻松管理微服务应用中的服务提供者、服务消费者和配置,提供服务发现、配置管理、服务鉴权等功能。Nacos具有以下特点:

  1. 轻量级:Nacos的启动速度快,占用资源少,适合在生产环境中部署。
  2. 易于使用:Nacos提供了简单易用的RESTful API和Java客户端,可以快速上手。
  3. 高可用:Nacos具有高可用的架构,可以通过配置来设置多个Nacos服务器,实现故障切换和负载均衡。
  4. 配置管理:Nacos提供了集中式的配置管理功能,可以实现动态配置和环境变量配置。
  5. 服务鉴权:Nacos提供了服务鉴权功能,可以根据不同的服务设置不同的鉴权规则。

二、Nacos和Eureka的区别

Nacos和Eureka都是当前比较流行的Service Mesh组件,用于服务发现、配置管理等。它们的区别如下:

  1. 背景不同:Nacos是阿里巴巴开源的组件,而Eureka是Netflix开源的组件。
  2. 功能侧重点不同:Nacos在服务发现和配置管理方面功能更加强大,支持动态注册、配置推送、配置监听等功能;而Eureka更加专注于服务发现,配置管理功能较弱。
  3. 性能不同:Nacos经过优化,在大规模集群下性能更优。
  4. API设计不同:Nacos的API设计更加灵活,支持RESTful和Java SDK两种方式;而Eureka只支持Java SDK。
  5. 单机负载不同:Nacos的单机负载能力比Eureka更强。
  6. 综上所述,Nacos和Eureka在功能侧重点和性能上有所不同,选择时应根据实际需求进行评估。如果需要更加强大的配置管理和推送功能,可以选择Nacos;如果只是需要简单的服务发现功能,可以选择Eureka。

三、安装

1、安装

官网下载地址

将压缩包解压到文件夹 

找到application.properties文件打开查看端口号 

 默认端口号为8848,如果已经有其它应用占了,那么可以更换端口号。

2、启动 

在此窗口打开cmd命令框

启动命令: 

startup.cmd -m standalone

启动成功!!! 

 复制地址:

到浏览器打开(账号和密码都是nacos):

 四、服务注册到Nacos

1、非集群服务

在整个项目的父工程中引入依赖

            <!--            nacos的管理依赖-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

在子项目中引入客户端依赖 及 配置yml文件

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

 

 将所配置的父项目和子项目启动(我只有一个父项目和两个子项目),成功显示。

2、集群服务

将上面的非集群服务的配置按原样配置。

配置yml文件

 启动子项目(这里我启动了两个(UserApplication、UserApplication2))

然后再配置yml文件(将其值改为SH)

 复制一个启动项并更改其端口号,新建好后点击运行

成功显示。

springcloud 

 五、优先选择本地集群

NacosRule负载均衡策略:

  1. 优先选择同集群服务实例列表
  2. 本地集群找不到提供者,才去其它集群寻找,并且会。报警告
  3. 确定了可用实例列表后,再采用随机负载均衡挑选实例

 六、饥饿加载

饥饿加载是一种 Ribbon 的功能,它可以在 Ribbon 负载均衡器初始化时预先加载某个服务的连接,以减少后续请求时的连接延迟。这样,在后续请求时,Ribbon 就可以直接使用已经加载好的连接,而不需要重新建立连接,从而提高请求的响应速度。

它可以在网页还未被访问时就开始加载数据,以减少网页加载的时间。这种技术可以在网页中使用,也可以在其他类型的应用程序中使用。在网页中使用时,可以提高网页的加载速度,提升用户体验。

 

七、服务实例的权重设置

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

  1. 服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求
  2. Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高。

实例的权重控制

  1. Nacos控制台可以设置实例的权重值,0~1之间
  2. 同集群内的多个实例,权重越高被访问的频率越高
  3. 权重设置为0则完全不会被访问

点击 “编辑”

修改权重值 

 

八、环境隔离-namespace

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

点击 “命名空间”

 

 点击 “新建命名空间”

 

id会自动生成,可以不填 

 

在yml文件中配置

会看到 原本在“public” 中的 user server 已经到了“dev(我自己起的名字)” 

 

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Nacos作为注册中心的步骤如下: 1. 首先,需要将Nacos作为Spring Cloud项目的依赖添加到项目的pom.xml文件中。可以通过引用中提到的阿里巴巴的产品Nacos来实现。 2. 在Nacos的管理页面中,配置好Nacos的地址。可以参考引用中提到的在nacos01中配置好nacos02的地址的方法。 3. 在需要注册Nacos的微服务项目中,配置Nacos的地址。这可以通过修改项目的配置文件来实现。具体而言,可以在user-service和order-service等微服务的配置文件中添加以下内容: ``` spring: cloud: nacos: server-addr: localhost:8848 ``` 这个配置将指定Nacos的地址为localhost:8848。可以根据实际情况进行修改。 4. 最后,确保每个微服务都将自己注册Nacos。这可以通过在微服务的启动类上添加@EnableDiscoveryClient注解来实现。 通过以上步骤,就可以将Nacos作为注册中心来使用了。在这个注册中心中,各个微服务注册自己的信息,并能够相互发现和调用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Nacos注册中心、配置中心](https://blog.csdn.net/m0_46979453/article/details/125091857)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Nacos注册中心简单使用(含nacos搭建集群流程)](https://blog.csdn.net/Staba/article/details/124630286)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学CAD的河狸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值