前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >注册与发现的两种注册模式

注册与发现的两种注册模式

作者头像
春哥大魔王
发布2023-03-22 15:41:23
2420
发布2023-03-22 15:41:23
举报
文章被收录于专栏:服务端技术杂谈

其实常见的有两种注册模式,一种 client,一种是 proxy 模式。

两者各有特点,也各有合适的场景。

client 模式,明显的优势都是技术上的收益,比如不需要网络的两跳,没有 proxy 也不需要多做一个节点的高可用。

缺点是每次规则升级,都需要所有客户端升级,如果客户端太多,升级时就需要考虑可靠性。同时规则写在 client 代码里面,这部分规则如果没办法可视的话,对于研发人员也不友好。

很多分布式中间件采用这种模式,比如 redis、zebra。客户端存储元数据,多个客户端节点之间通过类似 gossip 的协议做数据一致性的近实时传播。

proxy 模式,需要在所有客户端节点和 server 之间做个聚合,优势是可以在这个 proxy 至上做一些对于流量的规则治理。比如我们常听到,计算机领域的很多问题,都可以通过加一层的方式解决,proxy 模式,就是这样的一层,很多服务注册与转发规则的注入可以放在这里。

比如服务注册的多种路由规则的可视化,因为有了这个平台,就有了治理的统一平台,但性能和可用性上存在不足。

所以对于中间件,如果对于延迟和高可用有要求的话,建议采用 client 模式。

如果在流量治理层面有很强定制性的,比如规则很多的话,可以引入 proxy 模式,比如网关层面的 api 编排就是这种情况。

当然好的方式是两者的结合,比如 mesh 就包含了控制面和数据面,控制面是 proxy 之外的 admin,数据面就是有规则的 client。

关键点是 client 要轻,便于升级,proxy 端要规则丰富,便于治理。

类似的 proxyless 也可以实现。

所有模式并不是那么重要的,关键点还在于如何实现,并不是某一个模式一定比其他一个要强,而是解决了对应的关键问题。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 春哥talk 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档