Dobbo介绍

一、概念

1. 是什么:dubbo是一个RPC分布式服务框架

2. 能做什么(功能):

a. 高性能和透明化的调用远程方法

b. 服务自动注册与发现

c. 容错与负载均衡

3. dubbo底层默认使用netty通信框架,netty底层使用NIO,NIO是socket编程的优化,socket编程基于TCP,TCP=IP+Port;也可以使用mina通信框架

4. dubbo默认使用单一长连接,即阻塞调用;但也支持异步调用,返回一个Future对象,没有返回值的接口可以做成异步调用

5. 支持的协议:dubbo://,http://等

6. 适合小数据量大并发的场景

7. 使用的序列化框架:hession(默认框架), fastjson, dubbo

8. hession序列化框架是一个采用二进制格式传输的服务框架

9. 上线不影响旧版本:version, group

二、节点角色

1. provider 服务提供者

2. consumer 服务消费者

3. registry 注册中心

4. monitor 监控中心,可以使用界面化的dubbo admin控制台,进行服务降级、权重调整等

5. container 服务运行容器

6. 对应的节点架构图和注册发现服务的流程图

  

三、dubbo注册中心

1. 一般使用Zookeeper注册中心,用来维护服务的地址列表,进行集中的数据管理,使消费方和提供方透明;也可以使用Multicast注册中心、Redis注册中心等

2. 当zookeeper挂掉,dubbo对老的服务还能继续通信,因为已经把服务信息缓存在了本地;但是新服务不可以通信

3. 同一个服务,可以发布在多个注册中心里

4. 服务失效踢出,基于zookeeper的临时节点原理

四、集群容错方案

1. 读操作:使用Failover失败转移策略,失败自动切换

2. 写操作:使用Failfast快速失败策略,失败立即报错

五、dubbo的负载均衡策略

1. 随机

2. 轮询

3. 最少调用数量

4. 一致性hash,相同参数的请求总是发到同一个提供者

六、dubbo的安全机制

1. 通过Token令牌防止消费者绕过注册中心直接连接提供者,在注册中心管理授权

2. 白名单和黑名单机制

七、dubbox在dubbo的基础上做了扩展,支持restful调用

八、dubbo调用超时

1. 默认重试两次

2. 可以设置retry=0

参考:

https://www.cnblogs.com/hantianwei/p/6338006.html

https://blog.csdn.net/noaman_wgs/article/details/70214612/

 

原文地址:https://www.cnblogs.com/june0816/p/5740364.html