dubbo

最先对dubbo的理解还是老王。比如:2个客户端,2个服务端,加一个服务端,你都改配置去吧

《dubbo》 N
《dubbo》 dubbo

dubbo就是服务治理框架,有配置更改,多了一个Service.jar,直接注册上去就行了。这个注册和发现机制,应该就是老王的位置-命名服务,就是zookeeper帮助实现的,zk来帮你动态的实现这个。

什么是服务,就是把你的MVC中,某一个service-dao打成一个jar包,单独部署。这就是服务拆分。

1:直接看源码 做不到呀。非常好的参考

JD问,dubbo的协议

《dubbo》 是这个吗?

序传交调监路注代配,说整体的设计。

《dubbo》 说这个吧

支撑的协议,我们用dubbo协议,rmi协议,thrift协议,然后是底层的编解码,序列化工具传输。协议在Potocol这个层,在信息交换,传输层和序列化层上面的。这几个标蓝的类参考第一个参考文档,都有源码讲解。

《dubbo》 注意层次

2:自己实现一个RPC框架不就行了。

一句话:RPC在java里面叫RMI,远程方法调用。就是本地,不知道1+1=2,告知远端1,1返回2。可以socket编程传递参数,解析,(29s中控控制过)。就是跨机器,跨服务的数据交互。

自己就可以实现RPC了,远程关机等功能。但是,如果你来实现一个通用的RPC,这时候,你觉得可以自己写一个servlet了,但是,问题来了。

1:你要自己写网络模型,socket通信,可能负责有限。很多人都问1+1,或者1+2,他累死了。

2:你的通信协议是tcp,但是对方没有tcp,提供了http,比如对方是tomcat应用,甚至https,等自定义的协议。

3:数据传输协议,你socket,定义一个buffer即可,数据组织,xml,json等 序列化。

4:树大了,什么鸟都有,你C++,他们java,跨语言的交换,IDL,接口交换语言。简单的通信协议,高负载,数据压缩,序列化和反序列化。(C++中,buffer,json,xml这些都需要序列化的)

RPC有非死不可的thrift,还有google的protobuf。就是这样!数据传输协议。

thrift 的讲解。

首先还是RPC的,解决不同系统之间的交互问题的。基于xml,json的交互方式,dubbo也是呀。但是,有更NB的。

《dubbo》 thrift
《dubbo》 thrift

如果不考虑服务注册,去中心化这些。大家直接的系统直接配置RPC,来进行直连。

根据需要了,看你是什么需求,传输一个文件过去?大参数过去?选用你的RPC框架的,不一定非要用dubbo的。Dubbo有自己的协议传输规范,thrift也有自己的。

《dubbo》 thrift

VIP对比呀,看dubbo协议的报文  协议大小对比

《dubbo》 都是明白人

补充一下老王:

《dubbo》 protobuf
《dubbo》 thrift

    原文作者:小辰晞
    原文地址: https://www.jianshu.com/p/9bf9208084f9
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞