Dubbo简介

注意参考官网,中文版哦!
官方介绍只有简单的一句话:Apache Dubbo™ (incubating)是一款高性能Java RPC框架。

名词简单介绍

RPC:全称Remote Procedure ,Call,远程过程调用,通俗讲就是:定义一个网络协议,使得服务器A,可以调用服务器B上部署应用所提供的方法或函数。

负载均衡:通俗讲就是一组服务器部署了相同的应用程序,通过一些算法,基于现有网络合理分配用户流量,保障用户访问的稳定性。

ZooKeeper:是一种用于分布式应用程序的高性能协调服务。

Dubbo

发音|ˈdʌbəʊ|,三大核心能力:面向接口的远程方法调用、智能容错和负载均衡、以及服务自动注册和发现。
当然了Dubbo不一定必须使用ZooKeeper,也可以使用Redis注册中心等。

架构模式

Dubbo架构

节点 角色说明
Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器
调用步骤
  1. 服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连 接推送变更数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
架构特点

连通性、健壮性、伸缩性、以及向未来架构的升级性。

优缺点
  1. 透明化的远程方法调用,没有任何API侵入;
  2. 软负载均衡及容错机制;
  3. dubbo支持各种通信协议,而且消费方和服务方使用长链接方式交互,通信速度上略胜Spring Cloud;

附:ZooKeeper的安装

同样的在Dubbo文档中就介绍了Zookeeper 注册中心安装在Linux中的方法。

下面简单说一下Windows端的使用:
1. 下载
同样可以在http://archive.apache.org/dist/zookeeper/中下载。虽然都是tar.gz格式的压缩文件。下载完成后解压出来就行了。
目录结构如下:
Zookeeper文件目录结构
2. 运行
进入bin目录下,双击运行zkServer.cmd即可。