RPC(分布式服务框架)介绍

RPC(Remote Procedure Call)是指远程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不是用程序员显示编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上是编写的调用代码基本相同

dubbo - 图1

dubbo - 图2

dubbo概念

dubbo官网
中文文档

优点:

  • 面向接口代理的高性能RPC调用
  • 智能负载均衡
  • 服务自动注册与发现
  • 高度可扩展能力
  • 运行期流量调度
  • 可视化的服务治理与运维

dubbo设计架构
dubbo - 图3

dubbo的配置

dubbo的Nacos注册中心配置

与springboot整合后的配置

  1. 提供者配置:
  2. dubbo.application.name=gmall-user
  3. dubbo.registry.protocol=zookeeper
  4. dubbo.registry.address=192.168.67.159:2181
  5. dubbo.scan.base-package=com.atguigu.gmall
  6. dubbo.protocol.name=dubbo
  7. application.name就是服务名,不能跟别的dubbo提供端重复
  8. registry.protocol 是指定注册中心协议
  9. registry.address 是注册中心的地址加端口号
  10. protocol.name 是分布式固定是dubbo,不要改。
  11. base-package 注解方式要扫描的包
  12. 消费者配置:
  13. dubbo.application.name=gmall-order-web
  14. dubbo.registry.protocol=zookeeper
  15. dubbo.registry.address=192.168.67.159:2181
  16. dubbo.scan.base-package=com.atguigu.gmall
  17. dubbo.protocol.name=dubbo

注解:

  • @Service : 服务暴漏着
  • @Reference :服务调用者
  • @EnableDubbo : 开启注解

高可用

dubbo原理