14 | 开源RPC框架如何选型?
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
开源RPC框架选型是关键决策,本文介绍了RPC远程调用的原理和业界应用广泛的开源RPC框架。文章首先介绍了限定语言平台和跨语言平台的开源RPC框架,分别列举了Dubbo、Motan、Tars和Spring Cloud等框架的特点和架构。对于选择框架的建议,文章指出Spring Cloud适合不想自己实现微服务组件的开发者,而Dubbo和Motan在性能方面更有优势,适合对性能有苛刻要求的场景。如果涉及多个语言平台之间的相互调用,应选择跨语言平台的RPC框架。文章详实对比了各个框架的特点和适用场景,为读者提供了选型的参考依据。 跨语言平台的开源RPC框架包括gRPC和Thrift。gRPC采用了HTTP/2通信协议和ProtoBuf数据序列化格式,在移动端应用和对传输带宽敏感的场景具有优势。Thrift支持多种语言,适用范围广泛。对于跨语言的服务调用场景,文章建议根据语言支持和性能需求选择合适的框架。 未来RPC框架的发展趋势是支持多语言,各个RPC框架都提供了Sidecar组件来支持多语言平台之间的RPC调用。虽然gRPC和Thrift支持跨语言的RPC调用,但缺乏一系列配套的服务化组件和服务治理功能的支撑,需要自行考虑实现注册中心、熔断、限流、监控、分布式追踪等功能。 总的来说,本文对几种使用最广泛的开源RPC框架的选型建议进行了详细介绍,为读者提供了技术特点和选型依据。
《从 0 开始学微服务》,新⼈⾸单¥59
全部留言(32)
- 最新
- 精选
- 张龙大骗子tars不是介绍说支持C++、Java、PHP、NodeJS ,最近还发布了Go语言版本的
作者回复: 最近升级的吧,我了解的是刚发布的时候。据说最近也在做mesh方案
2018-09-2227 - 大龄小学生老师,rpc和mq的优势是什么?感觉rpc能做的mq都能做。
作者回复: mq主要用作异步解耦,场景不同
2018-09-235 - long.mr胡老师,c++的,是不是也可以考虑下baidu rpc呢,性能在rpc里还是很强的哈~,对比的时候可以考虑下呀😄
作者回复: brpc我也了解过,里面有些特性很赞,不过感觉开源的声势不够大
2018-09-2224 - 王晓军老师,为什么K8s和service fabric不在你的介绍范围,他们不是微服务框架吗?
作者回复: k8s是容器平台,不算微服务框架,service fabric不太了解
2018-10-202 - 。老师你好,请问RPC接口和http接口咋区分?spring cloud的调用方式算rpc接口还是http接口?
作者回复: 算是一种广义的rpc接口吧
2018-09-252 - everpantars支撑java php 最近还支持go了
作者回复: 看了官方文档,最近更新了。
2018-09-222 - 扬扬本人经常使用vs2010开发,但是grpc在开发平台的支持限制性太大了,如何破呢?
作者回复: 什么语言?
2018-12-13 - 段启超胡老师,“相比 Dubbo 和 Motan 所采用的私有协议来说,在高并发的通信场景下,性能相对要差一些 ,所以对性能有苛刻要求的情况下,可以考虑 Dubbo 和 Motan”这里,应该是性能相对要好一些吧。
作者回复: 是http相对要差一些
2018-12-01 - 步*亮老师你好,我想请教个问题。如果我们平台采用java语言开发,从而选择了springcloud框架。当有一个原有由c++实现的服务要作为服务提供者注册进来,可以实现么?
作者回复: spring cloud应该也支持sidecar模式,可以查查
2018-11-15 - gggwvgTars有完整的服务治理生态,支持多语言。2018-09-22215