Dubbo简介

RPC全称为remote procedure call,即远程过程调用。比如两台服务器A和B,A服务器上部署一个应用,B服务器上部署一个应用,A服务器上的应用想调用B服务器上的应用提供的方法,由于两个应用不在一个内存空间,不能直接调用,所以需要通过网络来表达调用的语义和传达调用的数据。
RPC并不是一个具体的技术,而是指整个网络远程调用过程。
RPC是一个泛化的概念,严格来说一切远程过程调用手段都属于RPC范畴。各种开发语言都有自己的RPC框架。Java中的RPC框架比较多,广泛使用的有RMI、Hessian、Dubbo等。
Dubbo提供了六大核心能力:面向接口代理的高性能RPC调用, 智能容错和负载均衡, 服务自动注册和发现, 高度可扩展能力, 运行期流量调度, 可视化的服务治理与运维。
Dubbo基于消费端的自动服务发现能力,其基本工作原理如下图:

节点角色说明:

虚线都是异步访问,实线都是同步访问 深蓝虚线:在启动时完成的功能 浅蓝色虚线(实线)都是程序运行过程中执行的功能
调用关系说明:
3:注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心 将基于长连接推送变更数据给消费者。
<dependency><groupId>org.apache.zookeeper</groupId><artifactId>dubbo</artifactId><version>2.6.0</version></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.7</version></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version></dependency><dependency><groupId>javassist</groupId><artifactId>javassist</artifactId><version>3.12.1.GA</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency>
未完待续...
文章转载自东神殿下,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




