Soul 网关 4:Dubbo 插件的使用

文档地址:

https://dromara.org/zh/projects/soul/dubbo-plugin/

ZooKeeper

本次实例需要 ZK,这里提供 Docker 和下载压缩文件两种方式。

Docker

1
docker run -dit --name zk -p 2181:2181 zookeeper

安装

下载地址

https://zookeeper.apache.org/releases.html


撰写本文时 ZooKepper 版本为 3.6.2,下载后解压。

将 conf 文件夹下的 zoo_sample.cfg 文件复制一份,命名为 zoo.cfg。

新建用于存放 data 和 dataLog 的目录,然后编辑 zoo.cfg 文件,指定 dataDir 和 dataLogDir。

运行 bin 目录下 zkServer.cmd 启动 ZooKeeper。
image.png

运行 SouAdminBootstrap


启动 soul-admin 之后,进入管理页面,关闭 divide 插件,打开 dubbo 插件。

如果在这个界面找不到 dubbo 插件,那可能被隐藏了,直接搜索就会出来

运行 soul-bootstarp

根据文档

https://dromara.org/zh/projects/soul/dubbo-proxy/

修改soul-bootstrap 的 pom.xml 。Dubbo 插件的依赖在 <!-- soul  apache dubbo plugin start--><!-- soul  apache dubbo plugin end--> 之间。

image.png
本次实需要将该部分下面这几行取消注释

1
2
3
4
5
6
7
8
9
10
11
<!--soul  apache dubbo plugin start-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-apache-dubbo</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.5</version>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- Dubbo zookeeper registry dependency start -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.1</version>
</dependency>

将之前的 Http 插件注释掉

1
2
3
4
5
6
7
8
9
10
11
12
13
        <!--if you use http proxy start this-->
<!-- <dependency>-->
<!-- <groupId>org.dromara</groupId>-->
<!-- <artifactId>soul-spring-boot-starter-plugin-divide</artifactId>-->
<!-- <version>${project.version}</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.dromara</groupId>-->
<!-- <artifactId>soul-spring-boot-starter-plugin-httpclient</artifactId>-->
<!-- <version>${last.version}</version>-->
<!-- </dependency>-->

<!--if you use http proxy end this-->

运行 soulBootstrapApplication

运行 soul-examples-apache-dubbo-service

这是本次演示的示例程序

检验

打开 soul-admin 的 dubbo 界面,发现已经注册了好多路径,随便找一个测试一下
image.png
如下所示:代理成功!
image.png