V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
milli0n
V2EX  ›  Java

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

  •  
  •   milli0n · 2021-03-22 23:13:28 +08:00 · 3273 次点击
    这是一个创建于 1342 天前的主题,其中的信息可能已经有所发展或是发生改变。
    注册中心使用 nacos 1.4.1,网关使用 Spring Cloud Gateway 2.2.5.
    由于开发机性能有限,希望达到后端开发者只需要启动当前正在修改的微服务模块的效果.
    目前已在内网部署一套包含全部微服务模块的测试环境,开发者启动自己修改的模块并注册到测试环境的 nacos 中.
    如何实现根据前端请求的来源 ip,将请求转发优先发送给同 ip 的服务实例(若存在)?
    11 条回复    2021-03-23 14:37:01 +08:00
    xuanbg
        1
    xuanbg  
       2021-03-22 23:18:38 +08:00
    貌似服务都是平等的,可行的办法是让开发环境的相应服务下线。
    limuyan44
        2
    limuyan44  
       2021-03-22 23:26:38 +08:00
    实在要搞的话就自定义负载策略试试。
    Belmode
        3
    Belmode  
       2021-03-22 23:30:56 +08:00
    这不是很简单么。。。过滤器和 Predicate 都能办到啊
    dethan
        4
    dethan  
       2021-03-22 23:45:35 +08:00 via Android
    两边都修改下服务名?
    scemsjyd
        5
    scemsjyd  
       2021-03-23 07:16:14 +08:00 via iPhone
    自己实现负载均衡,我就是这样干的
    boozer
        6
    boozer  
       2021-03-23 09:17:06 +08:00
    gateway 自己实现个 filter, nacos 不清楚,我们用的 eureka, 可以从注册中心获取服务实例的列表, filter 里根据你的规则过滤就可以了
    jerry1zeng
        7
    jerry1zeng  
       2021-03-23 09:23:24 +08:00   ❤️ 1
    spring.cloud.nacos.discovery.group 设置一个本地的分组就可以了,nacos 同组的才消费。
    liantao
        8
    liantao  
       2021-03-23 11:07:07 +08:00
    7 楼正解
    buliugu
        9
    buliugu  
       2021-03-23 13:50:46 +08:00
    继承 AbstractServerPredicate 实现一个负载均衡就完了
    keshao
        10
    keshao  
       2021-03-23 14:03:54 +08:00
    可以根据 nacos namespace 进行隔离开,也可以做到环境的隔离调用。
    Canon1014
        11
    Canon1014  
       2021-03-23 14:37:01 +08:00
    7 楼正解
    eureka 用过 zone 控制
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1989 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:50 · PVG 08:50 · LAX 16:50 · JFK 19:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.