微服务的消费模式

服务直连模式

   特点
        1.简洁明了
        2.平台语言无关性
   存在的问题:
        假设给定的url不可用,怎么办?
        但是由于这种模式无法保证服务的可用性,所以在生产环境中比较少用

客户端发现模式

    客户端发现模式是一种由客户端来决定响应服务实例的网络位置的解决方案
    原理:
    1.当服务实例启动后,将自己的位置信息提交到服务注册表中,服务注册表维护者所有可用的服务实例的列表
    2.客户端从服务注册表进行查询,来获取可用的服务实例
    3.在选取可用的服务实例的过程中,客户端自行使用负载均衡算法从多个服务实例中选择一个然后发出请求
客户端发现模式的架构.png

服务端发现模式

  该模式是客户端通过负载均衡器向某个服务提出请求,负载均衡器查询服务注册表,并将
请求转发到可用的服务实例,同客户端发现模式类似,服务实例在服务注册表中注册或注销
服务端发现模式.png
好处:它通常会简化客户端的开发工作,因为客户端并不需要关心
负载均衡的细节工作,其所要做的工作就是将请求发到负载均衡器即可,市面上也提供了很多
商业或者开源的负载均衡器的实现,开箱即用,
难点:一个比较大的问题是需要考虑如何来配置和管理负载均衡器成为高可用的系统组件

常见微服务的消费者

在java领域比较常用的消费者框架主要有HttpClient、Ribbon、Feign等。
 * Spring 中的  RestTemplate 其实是对(HttpClient、Okhttp)的一层封装 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容