dubbo:实现了分布式系统中的互相调用。
Zookeeper:统一管理的调度中心。
1 为什么说dubbo性能高
远程调用最关键、最耗时的两点:序列化和网络通信。
序列化:本地对象要在网络上传输,必须要实现Serializable接口,也就是必须序列化。
序列化方式,如xml、json、二进制流等,dubbo采用二进制流效率最高,因为计算机就是二进制的。
(PS:基本数据类型、String都已经实现了序列化)
网络通信:不同于HTTP需要7步走(三次握手、四次挥手)。
dubbo采用Socket通信机制,一步到位,提升了通信效率,并且可以建立长连接,不用反复连接,直接传输数据。
其他RPC框架:gRPC、Thrift、HSF等。
2 六大核心能力
dubbo是一款高性能、轻量级的开源RPC框架,提供了六大核心能力:
官网:https://dubbo.apache.org/zh/
3 dubbo架构
节点 | 角色说明 |
---|---|
Provider | 暴露服务的服务提供方 |
Consumer | 调用远程服务的服务消费方 |
Registry | 服务注册与发现的注册中心 |
Monitor | 统计服务的调用次数和调用时间的监控中心 |
Container | 服务运行容器(指的就是spring容器, dubbo与Spring是无缝对接的) |
调用关系说明