25|注册扩展:如何统一添加注册信息?
何辉
你好,我是何辉。今天我们继续学习 Dubbo 拓展的第三篇,注册扩展。
和前端进行联调测试,想必你再熟悉不过了,在这个阶段,前端为了能调用到指定的网关服务,一般会在请求 URL 中,把域名替换为具体的 IP,然后请求网关,进行功能联调测试。
但是大多数功能的核心逻辑,不在网关,而是在后端应用,那就意味着,网关接收到前端请求后,还得再调用其他后端应用,但是,后端应用系统会部署在测试环境的多个 IP 节点上。那,网关怎么知道要调用后端应用哪个 IP 节点呢?
可是,你忽略了一个重要因素,在需求并行迭代开发的节奏下,不同的 IP 节点,可能部署的是你这个后端应用的不同版本,如果让网关负载均衡,我们怎么能保证每次前端发起的请求,都会命中需要测试的那个后端应用 IP 节点呢?
就像图中,有一个网关,两个后端应用 app1 和 app2,app1 的两个迭代版本分别部署在 ip1 和 ip2 节点上。现在,前端通过指定 IP 请求到了网关,网关继续调用 app1,该调用 app1 的 ip1 节点,还是 ip2 节点呢?网关是负载均衡调用,还是指定 app1 的 IP 调用呢?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了Dubbo拓展中的注册扩展问题,重点讨论了如何解决在前端联调测试中,网关需要调用后端应用的不同IP节点的情况。作者提出了手动配置IP的方法,但也指出了其局限性和不足之处。针对小型项目和复杂系统,作者分别提出了通过指定url属性和配置化的形式来解决问题。最后,作者提出了在System Properties和Externalized Configuration两个层级进行动态化配置的方法,以解决硬编码形式的问题。通过具体案例和技术细节,本文深入浅出地介绍了注册扩展的相关问题和解决方法,对于需要了解Dubbo拓展的读者具有一定的参考价值。文章通过实例和技术细节,详细介绍了注册扩展的相关问题和解决方法,对于需要了解Dubbo拓展的读者具有一定的参考价值。文章还提出了在消费方自定义一个集群扩展器的思考题,为读者提供了进一步思考和讨论的空间。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Dubbo 源码剖析与实战》,新⼈⾸单¥59
《Dubbo 源码剖析与实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- Nights点赞,公司的软路由估计就是这种实现,到公司确认一下。之前只知道使用,这会知道原理了
作者回复: 你好,Nights:希望对你有帮助~
2023-02-14归属地:北京21 - Geek_d45d62我想到的第一个方案是group version
作者回复: 你好,Geek_d45d62:你想到的这个 group version 后,若能进一步的封装,然后极其简单的推广下去,那也是 ok 的。
2023-08-10归属地:北京 - 星期八服务提供方通过打标签dubbo.tag,消费者段通过invocation.setAttachment(CommonConstants.TAG_KEY, tag )传递标签的形式,是不是可以完成?
作者回复: 你好,星期八:这个也是可以的。不过在消费方指定 attachment 时,得关注一个点,消费方一个方法从上而下调用多个提供方时,别让设置的标签没了就行了。 而且这种方式的话,dubbo-admin 也可以修改,在测试环境被修改的可能性比较大,有点不太可控。
2023-02-13归属地:浙江
收起评论