firemail

标题: Dubbo [打印本页]

作者: java    时间: 2017-6-26 10:12
标题: Dubbo
Dubbo (https://github.com/alibaba/dubbo)是阿里巴巴开源的分布式服务化治理框架(微服务框架),久经阿里巴巴电商平台的大规模复杂业务的高并发考验,到目前为止Dubbo仍然是开源界中体系最完善的服务化治理框架,因此Dubbo被国内大量的的互联网公司和专统企业使用,国内使用Dubbo的企业有:阿里巴巴、京东、当当、携程、去哪儿、搜狐、南方航空、中软国际、软通动力、各大电信运营商

京东、当当、去哪儿等企业还组建了自己的中间件团队按自己的业务需求对Dubbo进行框架定制,目前当当网已开源了自己的Dubbo定制版Dubbox :http://www.oschina.net/p/dubbox
当当对Dubbo的评价:Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架。作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox(即Dubbo eXtensions)。

由此可见Dubbo是大量企业项目实施分布式服务化(微服务)架构的首选!

http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53


作者: java    时间: 2019-2-20 14:37
远程过程调用的框架

当当网 dubbox
spring clud
微博 : motan
gRPC
Thrift
作者: hshy    时间: 2019-4-29 17:49
本帖最后由 hshy 于 2019-4-29 19:02 编辑

基于Netty手写Dubbo框架

RPC ---远程传输  远程调用  -->Socket(ip, port) Socket.IO--InputStream  OutputStream  类名 方法名如何通过消息传送class Message{String className="Dog"; methodname typ;}
把上面的类对象序列化成二进制进行传输,接受方接收后进行反序列化,通过反射调用
传输介质:Socket
传输信息(反)序列化
RMI:Remote Method Invocation  针对Java语言远程调用的封装如果调用不同语言(C C#等)实现的方法
解决两个问题
传输介质:和语言无关  --->应用协议 http协议
传输信息(反)序列化:与语言无关   --->html文件 -->xml文件

WebService: http + xml 实现

优化xml

Webjson: http + json  -->相对来说轻量级

RPC:Remote Procudure Call   包含 RMI 和 Webservice及Dubbo 都是RPC的一种

Dubbo:RPC,分布式框架,服务治理(zookeeper),提供者消费者,远程方法调用,分布式服务,容错 负载均衡

Dubbox 当当基于Dubbo二次封装
新浪的Motan
谷歌的GRPC
Facebook的thrift

Netty:对NIO的封装和优化
Dubbo的底层通信框架就是Netty
ORM MVC RPC SAP(微服务)


服务名称创建:持久的 Persistent
服务地址url:临时的  Ephemeral  --------------下线会不存在 地址会变化

Urls--->choose which【负载均衡】  urls(变化,监听)











欢迎光临 firemail (http://firemail.wang:8088/) Powered by Discuz! X3