dubbo学习笔记
概述
dubbo是一个分布式服务治理方案,提供高性能、透明化的RPC远程调用和SOA服务治理方案。
架构
dubbo的架构图如下:
- registry:注册中心,服务地址暴露到注册中心,由注册中心统一向消费者返回实际服务地址列表;消费者向注册中心订阅服务(通过服务名);采用长连接的方式;
- provider:服务提供者,启动时向registry注册;停止或超时时,注册中心会删掉该注册记录,并通知服务消费者;
- consumer:服务消费者,启动时向registry订阅服务,获取服务的实际地址列表,并采用软负载均衡的方式,进行调用服务;
- monitor:监控中心,负责监听统计服务接口在provider、consumer的调用次数、调用时间,由provider、consumer定时(1分钟间隔)上报;
注册中心
注册中心的实现方式
- zookeeper:单机、集群方式
- redis:单机、主备、集群方式
- Eureka:常用于SpringCloud;
- 自定义注册中心:
自定义注册中心必须包含的功能有:
存储:存储注册地址信息,可以是树结构、链表+哈希表结构等;
事件:注册、取消注册、订阅、取消订阅等类型事件;
通知:触发事件时,要能通知到相关参与者(provider\consumer\monitor等);