首先简单说下dubbo的框架:
有三个组成部分,provider(提供者),registry(注册中心),consumer(消费者)
provider提供服务,并往registry(zookeeper)上注册服务,consumer远程调用提供者提供的服务,目前公司使用的dubbo配置的方法是springboot与dubbo整合,直接在application.propreties中配置
在提供和调用服务的时候
@Service暴露服务
参数:
timeout:超时时间(ms)
stub:是否在本地留存根(简单理解就是是否在api里面放dubbo接口的一个实现类,在调用这个接口时,先调用本地存根的实现类)参数值为:false/true
retries:判断在一次连接超时之后是否继续连接服务,参数值为n, n>0时,重连次数为n+1;否则连接次数为1,若设置超时重连次数为0,则设置参数值为-1
@Reference调用服务
参数:
group:指定提供者的组名(此时如果指定了组名,则在p’roperties中的组名则失效)
RpcException: No provider available for remote service
1). 检查连接的注册中心是否正确
2). 到注册中心查看相应的服务提供者是否存在
3). 检查服务提供者是否正常运行
"消息发送失败"异常怎么办?
通常是接口方法的传入传出参数未实现Serializable接口。
参考文章:http://www.cnblogs.com/chanshuyi/p/5144288.html
https://blog.csdn.net/u012100371/article/details/78849813