milli0n
V2EX  ›  Java

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

  •  
  •   milli0n · Mar 22, 2021 · 3915 views
    This topic created in 1900 days ago, the information mentioned may be changed or developed.
    注册中心使用 nacos 1.4.1,网关使用 Spring Cloud Gateway 2.2.5.
    由于开发机性能有限,希望达到后端开发者只需要启动当前正在修改的微服务模块的效果.
    目前已在内网部署一套包含全部微服务模块的测试环境,开发者启动自己修改的模块并注册到测试环境的 nacos 中.
    如何实现根据前端请求的来源 ip,将请求转发优先发送给同 ip 的服务实例(若存在)?
    11 replies    2021-03-23 14:37:01 +08:00
    xuanbg
        1
    xuanbg  
       Mar 22, 2021
    貌似服务都是平等的,可行的办法是让开发环境的相应服务下线。
    limuyan44
        2
    limuyan44  
       Mar 22, 2021
    实在要搞的话就自定义负载策略试试。
    Belmode
        3
    Belmode  
       Mar 22, 2021
    这不是很简单么。。。过滤器和 Predicate 都能办到啊
    dethan
        4
    dethan  
       Mar 22, 2021 via Android
    两边都修改下服务名?
    scemsjyd
        5
    scemsjyd  
       Mar 23, 2021 via iPhone
    自己实现负载均衡,我就是这样干的
    boozer
        6
    boozer  
       Mar 23, 2021
    gateway 自己实现个 filter, nacos 不清楚,我们用的 eureka, 可以从注册中心获取服务实例的列表, filter 里根据你的规则过滤就可以了
    spike01
        7
    spike01  
       Mar 23, 2021   ❤️ 1
    spring.cloud.nacos.discovery.group 设置一个本地的分组就可以了,nacos 同组的才消费。
    liantao
        8
    liantao  
       Mar 23, 2021
    7 楼正解
    buliugu
        9
    buliugu  
       Mar 23, 2021
    继承 AbstractServerPredicate 实现一个负载均衡就完了
    keshao
        10
    keshao  
       Mar 23, 2021
    可以根据 nacos namespace 进行隔离开,也可以做到环境的隔离调用。
    Canon1014
        11
    Canon1014  
       Mar 23, 2021
    7 楼正解
    eureka 用过 zone 控制
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1722 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 16:26 · PVG 00:26 · LAX 09:26 · JFK 12:26
    ♥ Do have faith in what you're doing.