微服务调用能否自动判断是本地请求还是远程的?
微服务间调用主要有springcloud和Dubbo两种,有时,小型项目或者服务器条件限制,多个服务组件可能打包为一个单体项目,或者打包为少数微服务,也可能所有服务组件单独打包为很多服务。那么服务间调用时,springcloud或dubbo能否动态的判断,如果是本地就直接依赖了性能更好,如果是远程再走远程调用机制,程序代码不动,能实现吗?
程序代码怎么写呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
springcloud eureka 有 region,zone 的概念。 ribbon 在负载均衡的时候,会倾向于在 同一个 zone 的服务提供者,如果该 zone 下没有对应的服务提供者,那么就会去调用别的 zone 下的服务提供者,或许这个可以解决你的问题。
具体的做法可参考,该作者写的 eureka 分区 eureka 分区
ribbon 相关的资料,可以参考,我写的文章 ribbon