Soul 网关使用 - dubbo 插件使用

前文在 divide 插件的使用 中有介绍 Soul 网关通过插件支持不同的协议,本篇我们关注 dubbo 的使用。
dubbo 是一款开源分布式的 RPC 框架,目前是 RPC 框架的主流。本文关注在 Soul 网关下转发请求到 dubbo 框架的服务。

启动测试环境

ZooKeeper 启动

dubbo 的启动依赖配置中心,这里我们以推荐的 ZooKeeper 做为配置中心,所以我们首先启动 ZooKeeper。以 mac 系统下使用 homebrew 启动为例启动:

brew install zookeeper
brew services start zookeeper

ZooKeeper 启动后我们可以使用 zkCli 客户端工具查看 Zookeeper 的情况,在 zkCli 中使用 ls / 命令查看根节点的情况:

zkCli
# Connecting to localhost:2181
# Welcome to ZooKeeper!
#JLine support is enabled
# WATCHER::
# WatchedEvent state:SyncConnected type:None path:null
# [zk: localhost:2181(CONNECTED) 0]
ls / 
# []

Soul 网关启动

在 Soul 网关使用的第一篇 源码编译和简单使用 中已经介绍了如何打包,这里我们直接启动 admin 和 bootstrap。

java -jar ./soul-admin/target/soul-admin.jar \
  --spring.datasource.user='root' \
  --spring.datasource.password='12345' 
java -jar ./soul-bootstrap/target/soul-bootstrap.jar

启用 dubbo 插件

Soul 网关的 dubbo 插件默认是关闭的,因此我们需要到管理控制台(http://localhost:9095)启用 dubbo 插件,并同时关注我们的 Zookeeper 的配置是否正确。

插件管理 - dubbo

启动 soul-examples-apache-dubbo-service

Soul 分别为 apache-dubbo 和 alibaba-dubbo 提供了 demo,这里我们只演示 apache-dubbo。

# 编译 soul-examples-apache-dubbo-service 
cd soul-examples/soul-examples-dubbo/soul-examples-apache-dubbo-service
mvn package -Dmaven.javadoc.skip=true -Dmaven.test.skip=true
# 启动 soul-examples-apache-dubbo-service
java -jar soul-examples-apache-dubbo-service-2.1.0.jar

通过启动日志,我们可以发现,dubbo 的服务和 http 的服务一样,都会在启动时通过 Soul admin 向网关注册自己提供的服务和规则。


dubbo 启动日志

在 Soul admin 的管理控制台我们可以看到这些规则已经注册成功:


管理控制台 - dubbo 的规则注册

通过 Soul 调用一下 dubbo 提供的服务

curl http://127.0.0.1:9195/dubbo/findAll
# 返回结果:
{"code":200,"message":"Access to success!","data":{"name":"hello world Soul Apache, findAll","id":"-1375543193"}}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Soul+Dubbo环境搭建 今天一下午,试了几个小时如何搭建环境,发现了如下几个 问题 版本不同,无法注册 首先...
    赵镇阅读 3,823评论 0 0
  • 目标 运行examples下面的 apache-dubbo服务 学习文档,结合dubbo插件,发起http请求so...
    铁皮_howard阅读 3,856评论 0 0
  • 概述 从今天开始准备用四周的时间学习soul网关,并通过查看官方文档、examples、分析其底层的源码等方式对她...
    路人丁_3a2e阅读 3,975评论 0 0
  • 目标 soul 目录结构介绍 soul-admin 与 soul-bootstrap数据同步之websockets...
    nuopromise阅读 4,353评论 0 1
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 12,204评论 16 22

友情链接更多精彩内容