关注
在微服务中,使用什么协议来构建服务体系,一直是个热门话题。 争论的焦点集中在两个候选技术: (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... HR面,到底该准备些啥(附核心问题回答思路)1.8W
- 2... 懂车帝二面 2025.10.11 1h32min4559
- 3... 除了卷大厂,还有其他出路吗。。。4559
- 4... 双非秋招timeline供参考(腾讯字节阿里快手美团)3316
- 5... 小红书一面面经3071
- 6... 牛牛求救🆘,不敢梭哈后端第二技能点怎么搭配3038
- 7... 10.12pdd笔试大鸭蛋2474
- 8... 第一次去北京那么远的地方实习,心里总是不安,大家会有这种感觉吗?2344
- 9... 10.12 拼多多技术岗笔试 第二题 求教2267
- 10... 华为10月10号考的手写LSTM被压中了2069
正在热议
更多
# 面包vs爱情,怎么选? #
7949次浏览 89人参与
# 职场新人体验 #
83940次浏览 595人参与
# 深信服秋招来了 #
279743次浏览 2915人参与
# 实习生如何通过转正 #
104254次浏览 1394人参与
# tplink提前批进度交流 #
207103次浏览 1506人参与
# 安克创新求职进展汇总 #
53970次浏览 529人参与
# 爱玛科技集团求职进展汇总 #
27225次浏览 196人参与
# Tplink求职进展汇总 #
180437次浏览 912人参与
# 秋招结束之后的日子 #
86296次浏览 976人参与
# 面试被问“你的缺点是什么?”怎么答 #
154759次浏览 2148人参与
# 贝壳求职进展汇总 #
34605次浏览 184人参与
# 硬件/芯片公司岗位评价 #
8372次浏览 28人参与
# Offer比较,你最看重什么? #
215292次浏览 1389人参与
# 互联网公司爆料 #
144726次浏览 708人参与
# 招银网络求职进展汇总 #
168423次浏览 992人参与
# 联影求职进展汇总 #
43098次浏览 284人参与
# 华为海思工作体验 #
29116次浏览 120人参与
# 新凯来求职进展汇总 #
49793次浏览 126人参与
# 材料进Fab厂真的劝退吗? #
56156次浏览 204人参与
# 五一之后,实习真的很难找吗? #
88076次浏览 556人参与
# 应届生,你找到工作了吗 #
69070次浏览 459人参与
# 总结:哪家公司最喜欢泡池子 #
144111次浏览 520人参与