shuai8624
臭小子帅
采纳率50%
2020-08-27 11:05

eureka消费者这一端,是通过discover获取到服务列表再调用服务? 还是消费者这一端也直接注册到eureka,直接通过服务名调用

已采纳

eureka消费者这一端,是通过discover获取到服务列表再调用服务?
还是消费者这一端也直接注册到eureka,直接通过服务名调用

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • w172087242 little_how 7月前

    1.eureka可以配置只拉取服务列表,不把自己注册上去
    2.加入有个服务名为USER的服务,那么eureka集成的client会去拉取user注册在eureka注册中心的USER服务列表
    3.将其拉取到的列表存如其ribbon负载中,由ribbon来判定服务是否连通,比如使用ping
    4.当你请求USER服务的接口时,feign组件会调用baseLoadBalancer来进行服务列表的选择,方法是choose
    5.选择好一个服务ip+端口后,进行调用的发起,ribbon默认的负载均衡机制是轮训;

    希望对你有帮助...

    点赞 评论 复制链接分享
  • qq1170993239 烟雨虹 7月前

    服务提供者与服务消费者都注册到中心,之后可以通过feign组件调用,feign组件还提供负载均衡,熔断等功能,更加方便。

    @FeignClient(value = "服务名")
    public interface SchedualServiceHi {
        // 服务提供方的接口方式与url,只需要写接口,feign组件会自动帮你做代理实现如果你实现该接口,表示,发生异常时需要做的处理
        @RequestMapping(value = "/hi",method = RequestMethod.GET) 
        String sayHiFromClientOne(@RequestParam(value = "name") String name);
    }
    
    点赞 评论 复制链接分享