Apache Dubbo 框架的使用(四)

Springboot_Dubbo_Zookeeper相关配置
yml相关配置信息(生产者——拓展):
yml相关配置信息(消费者——拓展):
注意(关于配置覆盖关系):
1:方法级优先,接口级次之,全局配置再次之(先考虑)
2:如果级别一样,则消费方优先,提供方次之
1.启动时检查
当生产者服务关闭,消费者服务开启时:
消费者添加yml配置信息(取消启动时检查):
2.超时(生产者提供时间较长,造成多线程阻塞)
利用线程睡眠模拟生产者超时:
当消费者调用生产者时会报错,因为消费者默认超时时间为1秒:
消费者添加yml配置信息(增加超时时间):
再次调用将会成功:
3.重试次数(配合超时使用,不包含第一次调用)
消费者添加yml配置信息(当发生超时,开启重试次数):
注意:
1:幂等(无论重试多少次,结果都是一个效果,可以设置重试次数)
例如:查询、删除、修改
2:非幂等(不能设置重试次数)
例如:插入(新增)
4.多版本(当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用),通过注解的方式配置
生产者version=1.0.0相关代码:
生产者version=2.0.0相关代码:
消费者调用version=2.0.0的生产者(相关代码):
消费者添加yml配置信息(版本更替全局配置):
可以按照以下的步骤进行版本迁移:
1:在低压力时间段,先升级一半提供者为新版本
2:再将所有消费者升级为新版本
3:然后将剩下的一半提供者升级为新版本
5.本地存根(可以避免一些没必要的远程调用)
boot-interface-all模块,新增生产者实现类(实现本地存根):
FoodServiceImpl3.java相关代码:
消费者添加yml配置信息(实现本地存根,可以避免一些没必要的远程调用,类的完全限定名):
开始调用:
总结
每天一个提升小技巧!!!