1、dubbo是什么
dubbo是一个RPC框架,序列化,底层通信协议,都是已经包装好的
Apache Dubbo是一款高性能、轻量级的开源服务框架
轻量级:使用方便快捷,不会在使用过程中过多的投入经理和成本在环境配置上
Spring总体是轻量级框架,但是早期的配置纯粹的重量级(SpringBoot出现后不存在)
1.1什么是RPC
直接翻译:remote procedure call 远程过程调用,是一种综合性较强的通信协议
不会限制底层通信协议是TCP / HTTP1 / HTTP2 / UDP / DUBBO
效果:使用RPC开发者,和本地调用没有感受上的区别
所有的RPC实现,都一定包含两个内容
1、序列化框架
2、底层通信协议的选择
3、体现远程和本地调用没区别
1.2使用dubbo框架整合Springboot
1、依赖
2、yaml配置
3、简单的配置类或者注解
1.2.1 dubbo框架中的结构
三个角色
服务协调器(注册中心)
服务提供者(provider)
服务调用者(consumer)
dubbo框架 需要整合到微服务中 是provider的进程 是consumer的进程
1.2.2 入门的dubbo配置
1.dubbo依赖
Spring cloud starter 按照springboot格式为dubbo封装的自动配置依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
<!--底层dubbo版本2.7.8-->
</dependency>
yaml配置
# dubbo相关属性
dubbo:
application:
# 为dubbo配置的应用名称,一般情况下 和spring 一样
name: dubbo-luban-demo-stock
# qos端口关闭 qos是dubbo提供的一套api接口,允许自定义项目监听连接dubbo
qos-enable: false
# 作为dubbo结构的一员,总要连接注册中心
registry:
# dubbo底层读取属性,会解析协议名称,根据协议名称
# 创建了解不同协调器的代码实现 nacos zookeper
address: nacos://localhost:8848
# spring cloud starter中包含一些我们用不到的属性配置,需要关闭
# 如果不关闭,不管理,会导致nacos配置文件越来越多
use-as-config-center: false
use-as-metadata-center: false
protocol:
# rpc底层通信协议 默认使用dubbo提供的性能最高的,匹配兼容最好的dubbo协议
name: dubbo
# 定义这个协议的端口名称 -1 会检查当前系统已经占用了从20880开始的哪个端口
# 做递增处理
port: -1