0
点赞
收藏
分享

微信扫一扫

UNiapp微信小程序Ucharts

大自然在召唤 2024-07-24 阅读 47

Nacos是一个开源的分布式服务发现和配置管理平台。它提供了服务注册、发现、配置,管理,命名空间和分组、高可用和负载均衡、安全认证等功能。帮助开发者构建微服务架构。
官网:https://nacos.io/

一.Nacos的基本概念

1. 服务注册与发现
Nacos可以作为服务注册中心,服务提供者在启动时将自己的信息注册到Nacos中心。服务消费者可以通过查询Nacos中心获取可用的服务列表,并选择其中的一个服务进行调用。Nacos提供了REST API和Java SDK来实现服务注册与发现的功能。

2. 配置管理
Nacos可以作为配置中心,将应用的配置信息统一管理起来。应用启动时,可以从Nacos中心获取最新的配置信息。Nacos支持多种类型的配置数据,包括文本、XML、JSON等。Nacos还提供了配置的动态刷新功能,当配置发生变化时,应用可以实时获取到最新的配置信息。

3. 命名空间和分组
Nacos支持多个命名空间和分组的配置。命名空间可以用于隔离不同环境(如开发、测试、生产)的配置,分组可以用于隔离不同应用的配置。通过命名空间和分组,可以实现配置的细粒度管理。

4. 高可用和负载均衡
Nacos支持集群部署,可以实现高可用和负载均衡。Nacos的集群部署方式有多种,可以根据实际需求选择合适的部署方式。

5. 安全认证
Nacos支持基于角色的访问控制和安全认证。可以通过配置文件或者API进行安全认证的配置,保证只有授权的用户才能访问Nacos的功能。

6. 服务治理:
通过nacos实现服务的健康检查,故障转移,服务限流,熔断降级等治理能力,从而提高服务的可靠性和稳定性。

7. 事件监听和推送:
通过nacos实现配置变更,服务注册和注销等事件的监听和推送,从而实现应用程序的自动化部署和管理。

二. Nacos支持AP和CP两种模式

nacos默认情况下是AP模式,通过修改配置文件来切换AP或CP。

AP模式(可用性与分区容忍性):
保证高可用性和可伸缩性,但是不保证一致性。
在线游戏,普通网站场景使用;Nocos会优先保证服务的可用性,发生网络分区或故障时,会在保证可用性前提下尽可能保持数据的一致性。

CP模式(一致性与分区容忍性):
保证了强一致性,但是可能降低可用性可可伸缩性。
金融,支付场景使用;发生网络分区或故障时,为了保证数据一致性,Nacos会对服务进行自动隔离和回复,但是这会导致部分服务不可用。

三. Nacos如何在分布式系统中保证配置变化的实时性和可感知性

Nacos 能够在分布式系统中保证配置变化的实时性和可感知性,从而帮助客户端及时响应配置的变更,保证系统的稳定性和灵活性。有以下几种方法:

客户端与服务端建立TCP 长连接 :
客户端与服务端建立TCP长连接,在服务器数据发生变化时,立即通过这个已经建立好的长连接将数据推送到客户端。

客户端 轮询 ,客户端定期向 Nacos 服务器发起请求:
客户端通过不断的轮询方式检查数据是否发生变化,变化的话就把数据拉回来。轮询可以是指客户端定期向 Nacos 服务器发起请求,查询特定的配置信息是否有更新。这种方式称为定时轮询。客户端会在固定的时间间隔内,向服务器发送请求,询问某个配置的最新状态或数值。

客户端通过向 Nacos 服务器发送 长轮询 请求来获取配置信息:
客户端发起轮询请求,但是不立即返回结果,而是将请求挂起,保持一个有效的连接,超时或配置有变化时,Nacos服务器会把变化后的配置详细响应给客户端,然后客户端再发起一次新轮询。

基于监听器的通知机制:
Nacos 客户端可以注册监听器(Listener)来监视特定配置的变化。当所监听的配置发生变更时,Nacos 服务器会主动推送通知给客户端。客户端接收到通知后,可以及时获取最新的配置信息,并进行相应的更新或操作。

四.nacos作用

Nacos是一个功能强大的服务发现和配置管理平台,可以帮助开发者构建微服务架构。它提供了服务注册和发现、配置管理、命名空间和分组、高可用和负载均衡、安全认证等功能。通过使用Nacos,开发者可以更方便地管理和调用各种微服务以及它们的配置信息。

五.Nacos的下载使用

下载地址:https://nacos.io/download/nacos-server/、
选择下载:在这里插入图片描述
下载成功后的目录如下:
在这里插入图片描述
在bin目录下,cmd执行 startup.cmd -m standalone,如下表示成功:
在这里插入图片描述

举报

相关推荐

0 条评论