# microservice-dubbo **Repository Path**: zhanglei-code/microservice-dubbo ## Basic Information - **Project Name**: microservice-dubbo - **Description**: SpringBoot、Dubbo、Zookeeper整合demo。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-08-09 - **Last Updated**: 2021-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # microservice-dubbo #### 介绍 SpringBoot、Dubbo、Zookeeper整合demo。 Dubbo官网:https://dubbo.apache.org/zh/。 Apache Dubbo 是一款高性能、轻量级的开源服务框架,提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维。 1. 什么是RPC RPC(Remote Procedure Call)是指远程过程调用,是一种进程间通信方式。 2. Dubbo核心概念 **服务提供者(Provider)**:暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。 **服务消费者(Consumer)**: 调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。 **注册中心(Registry)**:注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。 **监控中心(Monitor)**:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。 ![image-20210810155400902](images/image-20210810155400902.png) 3. 版本说明 dubbo 2.6以前的版本引入zkclient操作zookeeper。 dubbo 2.6及以后的版本引入curator操作zookeeper。 image-20210810174348904 #### 软件架构 JDK 1.8 SpringBoot 2.0.3.RELEASE dubbo-spring-boot-starter 0.2.0(dubbo-2.6.2、zookeeper-3.4.9、curator-2.12.0) #### 安装教程 以下基于Windows系统。 1. 安装zookeeper **1、下载zookeeper** https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/ **2、修改zoo.cfg配置** 将zookeeper-3.4.11\conf\zoo_sample.cfg复制一份改名为zoo.cfg,修改配置: ~~~shell # 临时数据存储目录 dataDir=../data # zookeeper端口号 clientPort=2181 ~~~ **3、运行** 运行zookeeper-3.4.11\bin\zkServer.cmd。 2. 安装dubbo-admin管理控制台(可选) **1、下载dubbo-admin** https://github.com/apache/dubbo-admin/tree/master-0.2.0 **2、进入目录,修改配置** 修改incubator-dubbo-ops-master\dubbo-admin\src\main\resources\application.properties,指定zookeeper地址。 ~~~shell server.port=7001 dubbo.registry.address=zookeeper://127.0.0.1:2181 ~~~ **3、打包** mvn clean package -Dmaven.test.skip=true **4、运行** java -Xms256m -Xmx256m -jar dubbo-admin-0.0.1-SNAPSHOT.jar 浏览器访问,使用root/root登陆。 ![image-20210810153403165](images/image-20210810153403165.png) 3. 安装dubbo-monitor-simple简单监控中心(可选) **1、下载dubbo-monitor-simple** https://github.com/apache/dubbo-admin/tree/master-0.2.0 **2、打包dubbo-monitor-simple** mvn clean package -Dmaven.test.skip=true **3、解压文件,修改配置** 解压dubbo-monitor-simple-2.0.0-assembly.tar.gz文件 修改dubbo-monitor-simple-2.0.0\conf\dubbo.properties配置 ~~~shell # 指定注册中心地址 dubbo.registry.address=zookeeper://127.0.0.1:2181 # 浏览器访问端口 dubbo.jetty.port=8080 ~~~ **4、运行** 运行dubbo-monitor-simple-2.0.0\assembly.bin\start.bat,浏览器访问。 ![image-20210810174147837](images/image-20210810174147837.png) #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)