dubbo 介绍、使用协议
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用智能容错和负载均衡服务自动注册和发现注:RPC(Remote ProcedureCall)—远程过程调用,通过网络从远程计算机程序上请求服务。如:两个不同的服务A,B部署在两台不同的机器上,那么服务A如果想要调用服务B中的某个方法该怎么办呢?使用HTTP请求当然可以,但是可能会比较慢而...
官网
1)服务容器负责启动,加载,运行服务提供者。
2)服务提供者在启动时,向注册中心注册自己提供的服务。
3)服务消费者在启动时,向注册中心订阅自己所需的服务。
4)注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5)服务消费者从提供者地址列表中,基于软负载均衡算法选一台提供者进行调用,如果调用失败再选另一台调用。
6)服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
核心部件:
- Remoting: 网络通信框架,实现了 sync over async(异步中同步) 和 request-response 消息机制.
- RPC: 远程过程调用,支持负载均衡、容灾和集群功能
- Registry: 服务目录框架用于服务的注册和服务事件发布和订阅
Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器
Dubbo 和 Spring Cloud 有什么区别?
Dubbo | cloud | |
---|---|---|
通信方式 | RPC(九种协议)利用存根) | http restFul |
组成部分 | 注册中心zk、服务监控dubbo-monitor | spring cloud的组件非常多 |
dubbo协议
dubbo协议 默认使用 Hessian2 序列化。(说明:Hessian2 是阿里在 Hessian 基础上进行的二次开发,起名为Hessian2 )
rmi协议 默认为 java 原生序列化;
http 协议 默认为 为 json ;
hessian 协议,默认是 hessian 序列化;
webservice 协议,默认是 soap 文本序列化 ;
总结
面向接口
的远程方法调用负载均衡
自动注册和发现
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)