# dubbo学习 **Repository Path**: ycfrank/dubbo-use ## Basic Information - **Project Name**: dubbo学习 - **Description**: 搭建简单的dubbo服务 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-06 - **Last Updated**: 2024-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 什么是协议 Client(Consumer端)与Server(Provider端)在传输数据时双方的约定。 ![img.png](img.png) #### Dubbo3中常见的协议 - 1.dubbo协议 - 2.rest协议 - 3.triple协议 - 4.grpc协议 - 5.thirft协议 - 6.webservice协议 - 7.rocketmq协议 - 8.redis协议 - 9.memacached协议 - ...等等 **不同协议的通信效率对比** dubbo官方提供的不同协议之间通信效率的对比如下: ![img_1.png](img_1.png) ### Dubbo协议 - 1.Dubbo的默认协议,自己定义的`私有协议`,基于TCP层,默认的通信方式是Netty4; - 2.Dubbo采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,反之,Dubbo缺省协议不适合传送大数据量的服务,比如传文件、传视频等。 官方提供的Dubbo协议结构图: ![img_2.png](img_2.png) ### Dubbo协议的使用 #### 准备——zookeeper的安装 服务端: https://archive.apache.org/dist/zookeeper/ 客户端: https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip #### 创建项目 父项目maven文件中对依赖版本进行管理 至于 dubbo 相关依赖说明 参考 https://juejin.cn/post/7327725061162254386 ```xml 8 8 UTF-8 3.2.0 2.7.12 5.3.25 org.apache.dubbo dubbo-bom ${dubbo.version} pom import org.springframework.boot spring-boot-dependencies ${spring-boot.version} pom import ``` 引入相关依赖 ```xml org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.apache.dubbo dubbo-spring-boot-starter org.apache.dubbo dubbo-dependencies-zookeeper-curator5 ${dubbo.version} pom zookeeper org.apache.zookeeper org.apache.zookeeper zookeeper 3.4.9 org.projectlombok lombok 1.18.22 org.springframework spring-aop ${spring.version} org.springframework spring-beans ${spring.version} org.springframework spring-context ${spring.version} org.springframework spring-core ${spring.version} org.springframework spring-expression ${spring.version} org.springframework spring-jcl ${spring.version} org.springframework spring-test ${spring.version} ```