dubbo 2.7.5 支持多语言版本,支持grpc 协议意义分析

通过本文你能彻底理解协议的发展历程,各个协议的优缺点

    问题1grpc协议 ,dubbo 协议,rest 协议,json协议,xml协议,htttp1 和http2 协议的根本区别 在哪?我们为什么要了解协议?    

        协议的作用

        协议是软件之间交互的根本。最早的通信协议是基于socket,为了降低复杂度,降低门槛1984年,Bruce Jay Nelson 发表了奠定基础性的论文 Implementing Remote Procedure Call,定义了系统之间互通这种远程调用的标准。定义了如何解决了两个应用系统之间交互的根本,沟通的术语。比如传递的什么什么对象,对象有哪些属性,这次调用调用的是哪个接口?底层的传输是用什么协议解决的?http1?http2?netty?mina?传输的过程中链路断开了怎办?服务怎发现?

借用下插图

分别从 协议 特点,应用的场景,解决的问题,缺点进行阐述。

xml

     姑且称第一代协议。协议的特点,1可读性比较强。2面向对象,定义了对象,属性,属性类型,服务。

应用场景 :在以前传统软件行业中应用比较多。

解决的问题:解决了有无的问题。降低了服务端和客户端的耦合性问题。

缺点: 协议内容比较大,带来的效率低下,性能低。

json

为了精简xml文件的大小,后来就出现了json格式,定义了key value格式,json格式比xml更简约,体积更精简,字符传输毕竟还是体积过大,为了进一步提升性能,出现了二进制格式

二进制

 通过对对象进行编解码,压缩,序列化后二进制传递,字段使用了简称代替,比如"ABC" 字段名,我用1代替,后面出现的。属性的引用,全是1标识,就大大压缩了体积。这样在高并发系统中,减少了数据的传输,极大提高了性能 。grpc dubbo rpc 都是这些思想的产物。下面重点就对这些协议进行对比。


跨编程语言:Hessian rpcx gRPCThrift,其他不支持

支持REST:Dubbox,Spring Cloud

dubborpc 和grpc 进行比较。

         grpc 支持跨平台,跨语言,性能是这些prc框架最高的。支持http2传输协议,双向传输。适用一些服务端 推送客户端的场景,支持流式传输,响应式编程适用io密集型的场景。grpc 有如此之多的好处。但是有一个缺点,不支持服务治理,dubbo将其纳入体系。完美解决了问题

rest 和rpc 进行比较

          rest 基于http协议的。采用json进行传输内容。rest比rpc 协议的依赖性耦合性更松,不需要客户端依赖服务端发布的接口定义。rest 适用于和浏览器前端进行交互的协议。rpc 适合后端系统之间的调用,REST是一种设计风格,它的很多思维方式与RPC是完全冲突的。 RPC的思想是把本地函数映射到API,也就是说一个API对应的是一个function,我本地有一个getAllUsers,远程也能通过某种约定的协议来调用这个getAllUsers。至于这个协议是Socket、是HTTP还是别的什么并不重要; RPC中的主体都是动作,是个动词,表示我要做什么。 而REST则不然,它的URL主体是资源,是个名词。而且也仅支持HTTP协议,规定了使用HTTP Method表达本次要做的动作,类型一般也不超过那四五种。这些动作表达了对资源仅有的几种转化方式

http1 和http2 有什么区别?

        http2 和http1 相比本质上支持链路复用,所谓的链路复用 ,就是一条链接链路上可以分批发送不同请求的数据,这是因为协议的规范性改进了。带来的性能的提升。http1 的协议规范之间的间隔,服务端通过读取 换行符 和结束符 进行处理,无法支持多个请求在一个通道进行传输,http2 在http1的协议基础上,定义了此次传输的数据大小。流有多少帧构成,无需非得等待一个业务请求处理完,才进行下一个业务请求的处理,穿插着进行传输就行。

问题2,带来了性能的提升

        grpc 利用probuffer 进行序列化和反序列化。pb的性能很高,为什么高呢?有以下特点。

1 编解码简单,高效,不同的类型数据进行编码。 只需要简单的数学运算,位移操作即可。

2存储紧凑高效。

3反序列化高效,hession2 还采用反射法

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容