关注
在微服务中,使用什么协议来构建服务体系,一直是个热门话题。 争论的焦点集中在两个候选技术: (binary) RPC or Restful。
以Apache Thrift为代表的二进制RPC,支持多种语言(但不是所有语言),四层通讯协议,性能高,节省带宽。相对Restful协议,使用Thrifpt RPC,在同等硬件条件下,带宽使用率仅为前者的20%,性能却提升一个数量级。但是这种协议最大的问题在于,无法穿透防火墙。
以Spring Cloud为代表所支持的Restful 协议,优势在于能够穿透防火墙,使用方便,语言无关,基本上可以使用各种开发语言实现的系统,都可以接受Restful 的请求。 但性能和带宽占用上有劣势。
所以,业内对微服务的实现,基本是确定一个组织边界,在该边界内,使用RPC; 边界外,使用Restful。这个边界,可以是业务、部门,甚至是全公司。
使用RPC远程服务调用方式与传统http接口直接调用方式的差别在于:
1. 从使用方面看,Http接口只关注服务提供方,对于客户端怎么调用,调用方式怎样并不关心,通常情况下,我们使用Http方式进行调用时,只要将内容进行传输即可,这样客户端在使用时,需要更关注网络方面的传输,比较不适用与业务方面的开发;而RPC服务则需要客户端接口与服务端保持一致,服务端提供一个方法,客户端通过接口直接发起调用,业务开发人员仅需要关注业务方法的调用即可,不再关注网络传输的细节,在开发上更为高效。
2. 从性能角度看,使用Http时,Http本身提供了丰富的状态功能与扩展功能,但也正由于Http提供的功能过多,导致在网络传输时,需要携带的信息更多,从性能角度上讲,较为低效。而RPC服务网络传输上仅传输与业务内容相关的数据,传输数据更小,性能更高。
3. 从运维角度看,使用Http接口时,常常使用一个前端代理,来进行Http转发代理请求的操作,需要进行扩容时,则需要去修改代理服务器的配置,较为繁琐,也容易出错。而使用RPC方式的微服务,则只要增加一个服务节点即可,注册中心可自动感知到节点的变化,通知调用客户端进行负载的动态控制,更为智能,省去运维的操作。
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享
牛客热帖
更多
- 1... 26国考公告出炉,放宽到38岁意味着什么5414
- 2... 《从研一摆烂到稳拿oc:嵌入式er的踩坑血泪史,这些弯路真的别再走了!》4815
- 3... 害,找工作哪有不上当的!4454
- 4... 京东官宣发布新车,会有新的HC吗?3465
- 5... 牛牛求救🆘,不敢梭哈后端第二技能点怎么搭配3109
- 6... 下一站回家3091
- 7... 末9四段大厂实习|秋招收尾结束2981
- 8... 找到靠谱的公司,少走些弯路2760
- 9... 双非秋招timeline供参考(腾讯字节阿里快手美团)2511
- 10... 27届速通第一段前端实习后续--节孝子启动!2365
正在热议
更多
# 找工作中的小确幸 #
8466次浏览 90人参与
# 秋招踩过的“雷”,希望你别再踩 #
16822次浏览 193人参与
# 爱玛科技集团求职进展汇总 #
29810次浏览 208人参与
# 面包vs爱情,怎么选? #
16204次浏览 180人参与
# 实习在多还是在精 #
2223次浏览 41人参与
# 发面经攒人品 #
2337190次浏览 32556人参与
# 深信服秋招来了 #
280603次浏览 2917人参与
# 反问环节如何提问 #
106743次浏览 2003人参与
# 实习下班不想学习,正常吗? #
3060次浏览 48人参与
# 机械求职避坑tips #
67155次浏览 449人参与
# 校招谈薪一定要知道的事 #
2500次浏览 47人参与
# 你觉得什么岗位会被AI替代 #
4251次浏览 78人参与
# 贝壳求职进展汇总 #
35990次浏览 200人参与
# 机械人值得去的小众企业 #
24204次浏览 54人参与
# 浪潮求职进展汇总 #
17762次浏览 137人参与
# 秋招结束之后的日子 #
88347次浏览 985人参与
# 实习最想跑路的瞬间 #
81804次浏览 521人参与
# 你做过哪些dirty work #
19798次浏览 143人参与
# 选完offer后,你后悔学机械吗? #
39252次浏览 242人参与
# 投格力的你,拿到offer了吗? #
119029次浏览 686人参与
# 诺瓦星云求职进展汇总 #
219758次浏览 1715人参与
# 机械人,签完三方你在忙什么? #
61534次浏览 234人参与