dubbo学习笔记

概述

dubbo是一个分布式服务治理方案,提供高性能、透明化的RPC远程调用和SOA服务治理方案。

架构

dubbo的架构图如下:

dubbo学习笔记

  • registry:注册中心,服务地址暴露到注册中心,由注册中心统一向消费者返回实际服务地址列表;消费者向注册中心订阅服务(通过服务名);采用长连接的方式;
  • provider:服务提供者,启动时向registry注册;停止或超时时,注册中心会删掉该注册记录,并通知服务消费者;
  • consumer:服务消费者,启动时向registry订阅服务,获取服务的实际地址列表,并采用软负载均衡的方式,进行调用服务;
  • monitor:监控中心,负责监听统计服务接口在provider、consumer的调用次数、调用时间,由provider、consumer定时(1分钟间隔)上报;

注册中心

注册中心的实现方式

  • zookeeper:单机、集群方式
  • redis:单机、主备、集群方式
  • Eureka:常用于SpringCloud;
  • 自定义注册中心:
    自定义注册中心必须包含的功能有:
    存储:存储注册地址信息,可以是树结构、链表+哈希表结构等;
    事件:注册、取消注册、订阅、取消订阅等类型事件;
    通知:触发事件时,要能通知到相关参与者(provider\consumer\monitor等);