总系列目录地址
上篇Divide插件(二)
Dubbo插件
-
Soul官方提供了alibaba-dubbo和apache-dubbo两个example,我使用的是soul-example-apache-dubbo.
-
看下yaml文件,需要配置soul.dubbo.adminUrl注册信息到网关,代码需要配souldubboClient。查看例子,alibaba-dubbo和apache-dubbo的配置是一样的。
soul: dubbo: adminUrl: http://localhost:9095 contextPath: /dubbo appName: dubbo
-
由于dubbo需要Zookeeper,需要先启动zk,再启动apache-dubbo的例子,启动后soul-admin 可以看到注册成功。支持 alibaba dubbo(< 2.7.x) 以及 apache dubbo (>=2.7.x)
-
需要注意在soul-admin 管理控制台把插件状态改为“open”。入门参考请看:dubbo配置
-
现在可以通过http通过soul网关请求dubbo服务啦!是不是很神奇!
Sofa-rpc插件
- 插件测试都差不多,显示启动官方提供的example试试,然后就在soul-admin上查看是否注册成功。
soul: sofa: adminUrl: http://localhost:9095 contextPath: /sofa appName: sofa
由于soul-bootstrap默认没有引入sofa的包,需要自己在pom文件添加依赖<!-- sofa plugin start --> <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>sofa-rpc-all</artifactId> <version>${sofa.rpc.version}</version> </dependency> <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-sofa</artifactId> <version>${project.version}</version> </dependency> <!--sofa plugin end-->
总结
soul的插件思路很明确,通过配置yml和注解,可以很方便的集成各种协议或者服务。一个通用的思路,可以形成复用的思想模型。官方提供了多个协议的实现模板,如果使用者或者以后行业内有其他新的框架,soul也可以快速的集成和开发。这种插件式的开发模型,有长久反正并且不断自我完善的能力,可以借鉴到我们自己的项目中去。
自我演化,并不断完善的能力,soul的底层开发模型提供了无限的扩张空间。