今天计划是学习使用soul网关进行dubbo服务代理。dubbo是一个远程服务调用框架,具体的内容已经有点模糊了,这块另外再去补。今天单单运行测试用例也没有成功,由于时间太晚了,不能再研究下去,先对过程进行记录。
example中有alibaba dubbo和appache dubbo两个例子,本次使用alibaba dubbo进行测试,过程如下。
- 分别启动 admin, bootstrap,在admin中打开dubbo插件开关;
- 启动alibaba dubbo example,然后发生如下问题;
问题:. admin中发现dubbo插件的选择器和规则是空的,服务用例没有自动向admin进行注册。
**解决:**查看用例的启动日志,发现有一条这样的日志INFO 63376 --- [localhost:2181)] org.apache.zookeeper.ClientCnxn : Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
于是网上搜索一番,说可能是zookeeper服务端和客户的版本不匹配,再次查看启动日志,发现客户端zookeeper版本是3.5.6,而我服务端版本是3.4.5,于是在用例的pom.xml中将客户端版本改成3.4.5,再次启动,打印类似如下日志,表示相应的选择器和规则注册到了admin。
INFO 60796 --- [pool-1-thread-1] o.d.s.client.common.utils.RegisterUtils : dubbo client register success: {"appName":"dubbo","contextPath":"/dubbo","path":"/dubbo/insert","pathDesc":"Insert a row of data","rpcType":"dubbo","serviceName":"org.dromara.soul.examples.dubbo.api.service.DubboTestService","methodName":"insert","ruleName":"/dubbo/insert","parameterTypes":"org.dromara.soul.examples.dubbo.api.entity.DubboTest","rpcExt":"{\"group\":\"\",\"version\":\"\",\"loadbalance\":\"random\",\"retries\":2,\"timeout\":10000,\"url\":\"\"}","enabled":true}
- 接下来在浏览器输入
http://127.0.0.1:9195/dubbo/findAll
,返回如下错误:
{
"code": -107,
"message": "Can not find selector, please check your configuration!",
"data": null
}
看信息是提示没找到选择器,由于时间太晚了,明天再对这个问题进行分析。
参考资料
https://blog.csdn.net/qq642159746/article/details/51455672