Erueka(NetFlix)、Consul(Go)、Ribbon总结

本文介绍了微服务架构中的核心组件和服务间的通信手段。首先探讨了服务注册中心的选择,包括Erueka和Consul的特点;接着讲解了服务间通信的方式,如HTTP REST与RPC的区别;最后分析了Spring Cloud推荐的RESTful通信方式,并引入Ribbon组件实现负载均衡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.微服务架构第一个组件
服务注册中心:
a. Erueka(NetFlix)----> 服务端、客户端都需要自己写
b. Consul(Go)----> go语言已经写好服务端,springcloud可以作为客户端
2.服务间通信手段
a. HTTP 应用层协议 使用http rest方式 使用json作为数据交换格式进行通信 高度解耦
b. RPC 传输层协议 直接使用对象二进制方式传递数据 效率高 耦合度高 传输期间需要双方代码一致,Dubbo分布式采用RPC
3.springcloud推荐使用 http rest方式进行系统间通信
a. HttpClient对象 RestTemplate:相当Java代码中浏览器 HttpClient
restTemplate有GET、POST、PUT、DELETE、PATCH
4.RestTemplate发送请求存在问题
a.调用地址写死在代码中不利于维护
b.在调用过程无法实现请求负载均衡
5.微服务架构第二个组件:Ribbon组件 NetFlix 作用:负载均衡客户端对象
Ribbon:仅仅完成是请求的负载均衡节点选择 + RestTemplate
Ribbon原理:根据请求服务id,先去服务注册中心获取对应服务列表,然后根据默认轮询策略在选择一台可用节点
Ribbon负载均衡策略:通过源码得知Ribbon底层负载均衡策略父接口IRule父接口,在这个父接口中提供很多负载均衡策略 轮询 随机 根据响应时间加权 默认是轮询
6.总结
RestTemplate + Ribbon 完成服务间通信 问题:路径写死不利于维护 不够灵活
7.Ribbon项目状态
Ribbon-core Ribbon-loadBalance 目前还是在大规模生产实践中部署

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值