Soul网关(三)---- dubbo 插件

dubbo 插件

dubbo插件是将http协议 转换成dubbo协议 的插件,也是网关实现dubbo泛化调用的关键。

1.启动 soul-admin、soul-bootstrap

2.在soul-admin的插件管理中将 dubbo 插件设置为开启

Soul网关(三)---- dubbo 插件_第1张图片

3.在dubbo插件的配置中,配置 zookeeper 地址,这里配置的本地zk

{"register":"zookeeper://localhost:2181"} 
或者 
{"register":"nacos://localhost:8848"} 

Soul网关(三)---- dubbo 插件_第2张图片

4、启动 soul-examples-apache-dubbo-service

日志里输出了 选择器 和 规则
Soul网关(三)---- dubbo 插件_第3张图片
查看 soul-admin,也展示了选择器和规则。Soul网关(三)---- dubbo 插件_第4张图片

5.访问 http://localhost:9195/dubbo/findAll

Soul网关(三)---- dubbo 插件_第5张图片
soul-examples-apache-dubbo-service 的 application.yml 配置了 contextPath:/dubbo

所以请求的是这个:

    @Override
    @SoulDubboClient(path = "/findAll", desc = "Get all data")
    public DubboTest findAll() {
     
        DubboTest dubboTest = new DubboTest();
        dubboTest.setName("hello world Soul Apache, findAll");
        dubboTest.setId(String.valueOf(new Random().nextInt()));
        return dubboTest;
    }

总结

  1. 插件在soul-admin的配置大致都类似

TO DO

  • 整理一下 divide 插件和 dubbo 插件的调用链
  • 分析 divide 插件和 dubbo 插件中用到的设计模式

你可能感兴趣的:(Soul,网关源码)