- 下面是个典型的提供者、消费者、注册中心的典型架构图:
- 如下图所示,dubbo官方推荐的注册中心是Zookeeper:
关于Zookeeper
-
本次使用了单节点Zookeeper,版本3.4.13,IP192.168.50.43,端口2181
-
关于Zookeeper的部署,我这边是通过docker快速部署的,参考文章《群晖DS218+部署kafka》
- 如果您部署好了Zookeeper,接下来开始编写服务提供者和消费者的代码;
源码下载
- 如果您不想编码,可以在GitHub下载所有源码,地址和链接信息如下表所示:
| 名称 | 链接 | 备注 |
| :-- | :-- | :-- |
| 项目主页 | https://github.com/zq2599/blog_demos | 该项目在GitHub上的主页 |
| git仓库地址(https) | https://github.com/zq2599/blog_demos.git | 该项目源码的仓库地址,https协议 |
| git仓库地址(ssh) | git@github.com:zq2599/blog_demos.git | 该项目源码的仓库地址,ssh协议 |
- 这个git项目中有多个文件夹,本章的应用在dubbopractice文件夹下,如下图红框所示:
- dubbopractice是父子结构的工程,本篇的代码在springbootzkprovider和springbootzkconsumer这两个子工程中,如下图:
编码(服务提供方)
- 先创建提供服务的工程springbootmulticastprovider,一共要创建4个文件,创建顺序和功能如下表:
| 创建顺序 | 文件名 | 作用 |
| — | — | — |
| 1 | pom.xml | 工程的pom文件 |
| 2 | src/main/resources/application.yml | 配置文件 |
| 3 | DemoServiceImpl.java | 提供具体的服务 |
| 4 | SpringBootZKProvid