Skip to content

Latest commit

 

History

History
50 lines (26 loc) · 1.87 KB

2.09_看过Dubbo源码吗?说说Dubbo的底层架构原理?.md

File metadata and controls

50 lines (26 loc) · 1.87 KB

Dubbo 框架原理

dubbo框架原理

服务注册中心:

消费者

动态代理:Proxy

负载均衡:Cluster,负载均衡,故障转移

注册中心:Registry

通信协议:Protocol,filter机制,http、rmi、dubbo等协议

http、rmi、dubbo

比如说,我现在其实想要调用的是,DemoService里的sayHello接口

你的请求用什么样的方式来组织发送过去呢?以一个什么样的格式来发送你的请求?

http,/demoService/sayHello?name=leo rmi,另外一种样子 dubbo,另外一种样子,interface=demoService|method=sayHello|params=name:leo

信息交换:Exchange,Request和Response

对于你的协议的格式组织好的请求数据,需要进行一个封装,Request

网络通信:Transport,netty、mina
序列化:封装好的请求如何序列化成二进制数组,通过netty/mina发送出去

提供者

网络通信:Transport,基于netty/mina实现的Server

信息交换:Exchange,Response

通信协议:Protocol,filter机制

动态代理:Proxy

Dubbo网络通信原理

dubbo网络通信底层原理

Dubbo是怎么保证高可扩展性的

两点,第一点,是核心的组件全部接口化,组件和组件之间的调用,必须全部是依托于接口,去动态找配置的实现类,如果没有配置就用他自己默认的

第二点,提供一种自己实现的组件的配置的方式,比如说你要是自己实现了某个组件,配置一下,人家到时候运行的时候直接找你配置的那个组件即可,作为实现类,不用自己默认的组件了