Nacos初探(2)-- 服务注册原理解析

本文分析了服务发现组件如Eureka、Zookeeper、Consul和Nacos的优缺点,并深入探讨了Nacos服务注册的原理。通过源码跟踪,解释了Nacos客户端如何通过创建NamingService实例并注册Instance,以及Nacos服务端如何处理注册请求,涉及Raft算法和并发包的使用。
摘要由CSDN通过智能技术生成

一、服务发现现状分析

本节内容整理自 小马哥技术周报 : https://github.com/mercyblitz/tech-weekly

1、Spring cloud 服务发现现状

目前市面服务发现的组件有:

Spring Cloud Eureka:

优点: 1)Spring Cloud 官方推荐

            2)AP模型,数据最终一致性

            3)开箱即用,具有控制台管理

缺点: 1)客户端注册服务上报所有信息,节点多的情况下,网络,服务端压力过大,且浪费内存

            2)客户端更新服务信息通过简单的轮询机制,当服务数量巨大时,服务器压力过大。

            3)集群伸缩性不强,服务端集群通过广播式的复制,增加服务器压力

            4)Eureka2.0 闭源(Spring Cloud最新版本还是使用的1.X版本的Eureka)

 

Spring Cloud Zookeeper

优点: 1)比较成熟的协调系统,dubbo,Spring cloud均可适配

            2)CP模型,ZAB算法,数据强一致性

缺点: 1)维护成本较高,客户端,session状态,网络故障等问题,会导致服务异常

            2)集群伸缩性限制,内存,GC和连接

            3)无控制台管理

 

Spring cloud Consul

优点: 1)适用于Service Mesh架构,使用于JAVA生态

            2)AP模型,Raft+Gossip算法,数据最终一致性

缺点: 1)未经大规模市场验证,无法保证可靠性

            2)Go语言编写,内部异常排查困难

 

Spring Cloud Nacos

优点: 1)开箱即用,适用于dubbo,spring cloud

            2)AP模型,数据最终一致性

            3)注册中心,配置中心二合一,提供控制台管理

            4)纯国产,久经双十一考验

缺点: 1)刚刚开源不久,社区热度不够,依然存在bug

            2)0.5.0 注册服务无鉴权认证机制,存在风险

  • 12
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
nacos-sdk-go是一个用于服务发现的开源软件包。它提供了一种简单且可靠的方式来实现服务发现功能,可以帮助开发人员更方便地构建分布式应用程序。 nacos-sdk-go基于Nacos开源项目开发,Nacos是阿里巴巴开源的一个服务发现和配置管理平台。nacos-sdk-go提供了一系列的API和函数,可以用于注册、发现和管理服务。它支持HTTP和GRPC协议,能够与不同编程语言和框架进行集成。 使用nacos-sdk-go进行服务发现非常简单。首先,我们需要在应用程序中导入nacos-sdk-go的包,并初始化一个Nacos客户端。然后,我们可以使用该客户端注册服务、获取服务列表以及注销服务。例如,我们可以使用RegisterInstance函数将一个实例注册Nacos服务注册表中。 当其他应用程序需要使用我们的服务时,它们可以使用nacos-sdk-go的DiscoverInstances函数来获取可用的服务实例列表。这样,我们的服务就可以被其他应用程序发现和使用了。 除了服务发现功能,nacos-sdk-go还提供了一些其他功能,如配置管理、动态配置刷新等。它可以帮助我们更好地管理和维护分布式应用程序的配置和服务。 总结来说,nacos-sdk-go是一个功能强大的服务发现工具,它可以帮助开发人员更方便地构建分布式应用程序。通过使用nacos-sdk-go,我们可以实现服务注册、发现和管理,并能够与其他应用程序进行无缝集成,提高应用程序的可用性和可扩展性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值