【Dubbo系列】Dubbo是啥?RPC又是啥?

2022-08-13 16:07:43 浏览数 (1)

【Dubbo系列】命令行调用dubbo接口‍

目录

一、Dubbo简介

二、RPC远程过程调用

三、Dubbo节点角色说明

四、Dubbo的配置

五、Dubbo接口测试

一、Dubbo简介

Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:

1、面向接口的远程方法调用

2、智能容错和负载均衡

3、以及服务自动注册和发现

代码语言:javascript复制
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、暴露服务,定义服务信息

服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。

代码语言:javascript复制
<!-- 服务端: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、引用服务配置

用于创建一个远程服务代理。

代码语言:javascript复制
<!-- 消费端: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接口,详情可参考以下两篇文章。

【Dubbo系列】命令行调用dubbo接口

【接口测试】神器JMeter

最后,给大家推荐这个思维导图,可以复制下方链接查看详细信息。

https://www.processon.com/view/6138112f1e085306ef9fe608?fromnew=1#pc

0 人点赞