Spring Cloud 多人协作开发,如何让请求优先调用本地服务?

2021-03-22 23:13:28 +08:00
 milli0n
注册中心使用 nacos 1.4.1,网关使用 Spring Cloud Gateway 2.2.5.
由于开发机性能有限,希望达到后端开发者只需要启动当前正在修改的微服务模块的效果.
目前已在内网部署一套包含全部微服务模块的测试环境,开发者启动自己修改的模块并注册到测试环境的 nacos 中.
如何实现根据前端请求的来源 ip,将请求转发优先发送给同 ip 的服务实例(若存在)?
3259 次点击
所在节点    Java
11 条回复
xuanbg
2021-03-22 23:18:38 +08:00
貌似服务都是平等的,可行的办法是让开发环境的相应服务下线。
limuyan44
2021-03-22 23:26:38 +08:00
实在要搞的话就自定义负载策略试试。
Belmode
2021-03-22 23:30:56 +08:00
这不是很简单么。。。过滤器和 Predicate 都能办到啊
dethan
2021-03-22 23:45:35 +08:00
两边都修改下服务名?
scemsjyd
2021-03-23 07:16:14 +08:00
自己实现负载均衡,我就是这样干的
boozer
2021-03-23 09:17:06 +08:00
gateway 自己实现个 filter, nacos 不清楚,我们用的 eureka, 可以从注册中心获取服务实例的列表, filter 里根据你的规则过滤就可以了
jerry1zeng
2021-03-23 09:23:24 +08:00
spring.cloud.nacos.discovery.group 设置一个本地的分组就可以了,nacos 同组的才消费。
liantao
2021-03-23 11:07:07 +08:00
7 楼正解
buliugu
2021-03-23 13:50:46 +08:00
继承 AbstractServerPredicate 实现一个负载均衡就完了
keshao
2021-03-23 14:03:54 +08:00
可以根据 nacos namespace 进行隔离开,也可以做到环境的隔离调用。
Canon1014
2021-03-23 14:37:01 +08:00
7 楼正解
eureka 用过 zone 控制

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/764080

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX