Soul网关源码学习【第三篇】-dubbo示例

Dubbo服务示例演示

官方说明文档:https://dromara.org/zh-cn/docs/soul/user-dubbo.html

启动示例项目

dubbo以Zookeeper作为注册中心,所以需要本地先启动zookeeper。
启动了zookeeper之后,接着还要在我们的后台管理启动dubbo的插件。
在这里插入图片描述
以上两步完成之后,则可以启动我们的示例代码,直接run我们的TestAlibabaDubboApplication即可启动。
启动完成之后,和Http协议同样,我们的Soul会主动发现我们的规则,在插件管理的dubbo下即可看到我们所定义的规则了。
在这里插入图片描述

访问测试

我们以findById这个方法为例,可以看到通过访问9195端口即可访问到我们的示例项目的方法。
在这里插入图片描述
当我们把规则关掉之后,就会发现找不到规则,无法访问服务器。
在这里插入图片描述

在这里插入图片描述
再看我们示例代码中怎么实现的,在每个方法上使用@SoulDubboClient注解,将该方法配置到Soul的规则里,就可以通过Suol网关代理访问了。

    @Override
    @SoulDubboClient(path = "/findById", desc = "Query by Id")
    public DubboTest findById(final String id) {
        DubboTest dubboTest = new DubboTest();
        dubboTest.setId(id);
        dubboTest.setName("hello world Soul Alibaba Dubbo, findById");
        return dubboTest;
    }   

Dubbo协议支持的插件

通过Debug可以看出,execute方法中会遍历如下插件进行操作,目前我们只配置了dubbo,也就是它的Selector和Rule,至于其他几个插件,后面研究一下再做说明。

pluginclass
signSignPlugin
wafWafPlugin
rate_limiterRateLimiterPlugin
hystrixHystrixPlugin:
resilience4jResilience4JPlugin
dubboAlibabaDubboPlugin
monitorMonitorPlugin

先看一下dubbo插件的玩法:它提供了选择器和规则两级配置。
在这里插入图片描述
通过选择器我们配置了所有dubbo协议的请求经由后续规则处理。
在这里插入图片描述
后面的规则指定了具体调用的方法。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值