1、客户端请求API Gateway
2、API Gateway 调用 Ribbon服务器
3、Ribbon服务器 调用 业务服务器按照上面的流程,如果“业务服务器”新增一个业务接口(例如:login),Ribbon服务器也得新增一个相同的接口,用于调用业务服务器上的接口。那这时不仅得发布重启“业务服务器”,同时也得发布重启“Ribbon服务器”才能使得这个接口生效。是不是这么理解?

解决方案 »

  1.   

    我的理解:
    新增业主接口,肯定会注册到api Gateway里面,Ribbon应该会从api gateway自动获取服务提供者列表的。
      

  2.   

    你发的这个链接是在讨论负载的规则吧!
    我想做到的是业务接口的变更(新增接口、修改接口名称之类)只需要在业务服务器层面进行修改就行,而不需要同时在Ribbon服务器也做相应的修改,要不然每次业务接口一变,Ribbon服务就得发布并重启
      

  3.   

    我没有发链接,是CSDN自己给每个回复加的链接。新增业务你需要告诉api网关,ribbon做负载均衡是让消费者来请求时,告诉消费者应该去哪个服务器消费。和ribbon重启没关系。个人理解-------回答结束----
      

  4.   


    你说的这些内容有没有例子可以给我参考一下?我在网上看到的Ribbon服务器配置的例子中都是需要在这负载服务器上定义相关的业务接口的
      

  5.   

    Ribbon一般不会有独立的服务器的吧,一般都是内嵌在业务服务器的,这是一个很轻量级的负载均衡组件。
    而且针对SpringCloud是不感知接口维度的,只感知应用服务维度。你新新增了业务接口,接口属于哪个应用,网关比如zuul只负责转发到哪个应用,
    如果这个应用有相应的Http接口,那么执行成功;如果没有这个接口,执行失败。
    SpringCloud和Dubbo不一样,RPC是基于应用维度的,不是接口维度,应用新增了接口,只要调用方知道有这个接口了,直接调用就行了。