目录
一、Dubbo简介
二、RPC远程过程调用
三、Dubbo节点角色说明
四、Dubbo的配置
五、Dubbo接口测试
一、Dubbo简介
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:
1、面向接口的远程方法调用
2、智能容错和负载均衡
3、以及服务自动注册和发现
Dubbo 官网:http://dubbo.apache.org/zh-cn/index.html
Dubbo 中文文档:http://dubbo.apache.org/zh-cn/index.html
二、RPC远程过程调用
Dubbo原理:A系统调用B系统接口服务, 实现动态化(zookeeper通知)、权限化、配置化、低耦合化、自动化。
RPC的英文全称是Remote Procedure Call,翻译为中文叫“远程过程调用”。其中稍显晦涩的其实就是“过程”,过程其实就是方法。所以,可以把RPC理解为“远程方法调用”。
简单的说,就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。
三、Dubbo节点角色说明
Provider: 暴露服务的服务提供方
Consumer: 调用远程服务的服务消费方
Registry: 服务注册与发现的注册中心
Monitor: 统计服务的调用次调和调用时间的监控中心
Container: 服务运行容器
四、Dubbo的配置
1、暴露服务,定义服务信息
服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。
<!-- 服务端:dubbo:service -->
<dubbo:service protocol="dubbo" interface="com.demo.service.LonApplicationService" group="${dubbo.protocol.group}" version="${dubbo.protocol.version}" timeout="${dubbo.protocol.timeout}" ref="loanAppService" retries="0"/>
2、引用服务配置
用于创建一个远程服务代理。
<!-- 消费端:dubbo:reference -->
<dubbo:reference id="loanAppDubboService" interface="com.demo.service.LonApplicationService" group="${dubbo.protocol.group}" version="${dubbo.protocol.version}" timeout="${dubbo.protocol.timeout}" registry="registry" check="false"/>
五、Dubbo接口测试
可以通过telnet命名或者JMeter工具测试Dubbo接口,详情可参考以下两篇文章。
最后,给大家推荐这个思维导图,可以复制下方链接查看详细信息。
https://www.processon.com/view/6138112f1e085306ef9fe608?fromnew=1#pc