Soul网关-day10
Soul-plugin-sofa测试(五)
又开始了新的一天,终于把新的环境弄好了,可以开始测试sofa,根据官网上有关sofa的相关教程,开始搭建sofa的环境,主要需要注意的是s官网example上依赖的注册中心为zookeeper,所以需要先将zk启动起来。
官网上的配置教程是这样的:
<!-- 这里配置sofa版本-begin -->
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>sofa-rpc-all</artifactId>
<version>5.7.6</version>
</dependency>
<!-- 这里配置sofa版本-end -->
<!-- 这里配置注册中心-begin -->
<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>
<!-- 这里配置注册中心-end -->
<!--这里是配置了sofa的server端-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-sofa</artifactId>
<version>${last.version}</version>
</dependency>
<!--这里是配置了sofa的server端-->
网关这里的配置的模块比较清爽,分为三层:
第一层是sofa这个插件的集成版本;
第二层是注册中心相关的组件,用来存放请求路径和请求地址,soul支持的注册中心可以灵活替换。
第三层是sofa的自动装配类,是网关配置的关键,全靠这个模块将soul-sofa相关的配置交给spring进行管理。
但不像其他小伙伴那样幸运,我照着步骤搭建仍然出现了很奇怪的问题,在开启了sofa插件以后,我的soul-sofa的example项目启动以后,提示注册成功;但是请求sofa-sofa-example的地址:http://localhost:9195/sofa/findAll 请求是成功了,但是并没有返回任何数据,这就很奇怪了。
我尝试着打断点,但发现每次访问的时候都没有调用我想访问的那个方法。可能又是什么版本问题…
所以我又拉了一次soul的源码,发现sofa的example类竟然更新了。感觉迭代的很快啊~
再次启动,留了点心,发现网关启动的时候输出了以下的日志:
这个是我之前从来没有在网关那块看到的,不知道是不是需要重启了才能生效。如果每次注册进soul网关都要重启一次的话感觉体验有些差,所以应该是操作的问题,导致consumer并没有注册到zk中。
发现原来的三个api似乎注册失败了,感觉可能是上个版本遗留的问题。所以我把zk里面的数据全部删除了,再把soul的数据库也全删了。
再次重启发现example中多了好多的api,看了一下,大概原来的example中没有MultiParam的例子,在最新的版本中增加了MultiParam的例子。是东东老哥写的~
重启以后发现路子终于走对了,下面是访问的返回结果:
我们在soul网关日志上也可以发现这次请求的痕迹:
sofa篇完结,不容易啊…