DUBBO主要概念
三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,服务自动注册和发现。
工作原理:服务注册,注册中心,消费者,提供者,代理通信,负载均衡。
网络通讯、序列化:dubbo协议,长连接,NIO,hessian序列化协议。
rpc
remote procedure call远程过程调用
分布式
面向服务,将系统根据不同的功能或业务,拆分成各个模块服务,运行在不同的服务器上,减轻单体服务压力,提高并发量和性能,同时提升开发效率,使代码便于维护和扩展。
SPI
service provider interface,是一种服务发现机制,将业务代码接口和具体实现解耦,方便扩展。
注册中心
负责服务地址的注册和查找,若注册中心宕机,不影响已经运行的服务者和消费者,消费者已在本地缓存了提供者信息。
监控中心
负责统计各服务调用时间和次数等数据。
负载均衡
加权随机算法(默认):随机数,落到权重区间算法。
最小活跃数负载均衡:活跃值越少,服务器性能越高,优先度越高。
一致性hash算法
加权轮询算法
序列化
支持多种序列化方式:jdk自带、hessian2、JSON、Kryo、FST、Protostuff、ProtoBuff等等
默认序列化方式:hessian2