02. Dubbo框架
2024年10月28日大约 2 分钟
02. Dubbo框架
1. RPC协议
1. RPC协议介绍
RPC(Remote Procedure Call)远程过程调用,就是一个节点请求另一个节点提供的服务
![image-20230225093541805](/assets/image-20230225093541805-C-iShK_q.png)
提示:RPC在使用形式上像调用本地方法一样去调用远程的方法
常见的RPC框架:有Dubbo、Thrift、grpc
2. Dubbo是什么
Dubbo是一款高性能、轻量级、基于Java的开源RPC框架
提示:最开始有阿里开源,2018年贡献给了Apache开源组织
3. 为什么要用Dubbo
- 因为是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验
- 使用Dubbo可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心, 可用于提高业务复用的灵活性
- 分布式架构可以承受更大规模的并发流量
4. Dubbo架构
![image-20230225093714421](/assets/image-20230225093714421-BskE42bn.png)
节点角色说明
Provider:暴露服务的服务提供方
Consumer:调用远程服务的服务消费方
Registry:服务注册与发现的注册中心(zookeeper)
Monitor:监控中心
Container:服务运行容器
5. Dubbo接口测试
1. RPC接口
- 后台管理系统
- 会员服务
- 根据手机号查询会员信息
- 添加会员
- 根据日期统计会员数
- 预约设置服务
- 添加预约设置根据日期
- 修改预约设置数量
- 用户服务
- 根据用户名查询用户信息
2. RPC 解析API文档
![image-20230225093207477](/assets/image-20230225093207477-C_8GtGZb.png)
- 从中获取哪些信息?
- 服务名
- 方法名
- 参数类型、返回值类型
![image-20230225095412952](/assets/image-20230225095412952-ygdR_2AZ.png)
java中 方法定义语法结构:
返回值类型 方法名(数据类型 形参1,数据类型 形参2,....)
void:代表没有返回值、没有参数