本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。
Nacos : Naming and Configuration Service,可打包部署配置中心和注册中心,也可独立部署其中之一,配置中心、控制台依赖mysql,由阿里巴巴2018年8月开源,github 19.1k star(截止2021.08.24)
本文只讲解服务发现部分。
在Nacos中他们的主要区别如下:
emphemral | true | false |
---|---|---|
名称 | 临时实例 | 永久实例 |
CAP | AP | CP |
一致性协议 | distro | raft |
是否持久化 | 否 | 是 |
健康检查方式 | 心跳/连接 | 服务端检查(TCP、HTTP、MYSQL) |
provider/consumer:$[service_name]:${version}:${group}
为服务名客户端(SDK)根据service,指定部分或全部group、cluster获取相应的实例,客户端根据权重或其他策略进行路由
插件式selector实现自定义路由模式,可对接第三方CMDB
全量数据位于内存中,每个节点数据保持一致,节点间采取同步协议进行复制
一个客户端连接为一个client,打包客户端的信息与注册、订阅数据
功能/版本 | 1.x distro | 1.x raft | 2.x distro | 2.x raft |
---|---|---|---|---|
注册/注销 | http | http | grpc | http |
订阅 | http | http | grpc | grpc |
心跳/健康检查 | http | TCP/http/mysql | TCP | TCP/http/mysql |
推送 | udp | udp | grpc | grpc |
集群间数据同步 | http/distro | http/自研raft | grpc/distro | jraft |
主要用于注册中心迁移以及多数据中心数据同步
consumer侧可使用域名方式发现服务,无需使用Nacos客户端
支持Nacos数据同步至MCP Server
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。