微服务开发过程中访问乱窜的问题

Blade 未结 3 1253
lfzihao
lfzihao 2021-04-09 11:14

我们的服务一部分是在服务器上比如ip1,一部分是在开发机器上运行比如ip2,

现在ip1上运行着gateway、aserver、bserver、cserver......

ip2上运行着gateway、bserver

现在有人访问了ip1上的gateway路由到a服务,a服务再调用b服务,我把ip1上的gateway配置上blade.ribbon.rule.prior-ip-pattern: ip1

确实可以保证ip1上的gateway优先路由到ip1上的aserver,但是无法保证ip1上aserver访问bserver也是访问ip1上的bserver,有时会发到ip2的b服务上。

我的期望是ip1上的微服务优先调用ip1,没有再去先ip2

ip2上的微服务优先调用ip2没有再去先ip1,

目前gateway可以按照预设的优先进行路由,但是后面的服务如果有还远程调用怎么控制优先


3条回答
  •  3395733618
    3395733618 (楼主)
    2021-04-09 11:58

    兄弟,微服务负载均衡是由Ribbon实现的,不是由Gateway实现的


    而且负载均衡也是生产环境中必要的。所有流量都先打到一台机器上,这种做法是很不合理的。


    你的这种需求可以尝试自定义负载均衡规则,自己继承AbstractLoadBalancerRule这个类。

提交回复