技术编程|Dubbo高级特性应用之关闭服务检查
概述
在服务消费者端的dubbo:reference标签中,有一个属性check,它是一个服务治理类的属性,其作用是在启动服务消费者应用时,检查引用的服务,即interface属性中指定的服务,在注册中心是否存在 。check属性值默认为true,即启动时将对服务进行检查;也可以设置为false,忽略检查操作 。普通使用场景
check属性缺省使用dubbo:consumer标签的check属性值,默认为true,即在启动服务消费者应用时进行检查 。如果服务还未注册到注册中心或不存在,此时应用将报错而无法启动 。
从服务治理的角度看,它是一个非常有用的属性,可以在应用向用户提供服务前及早发现问题,确保服务可用,一般情况下并不需要特别去配置,默认开启服务检查 。循环消费场景
但有一些特殊情况除外,例如服务出现循环消费的场景,简单来讲,就是应用A和应用B分别使用了对方提供的服务 。由于服务检查机制,产生了服务循环依赖,导致任何一方都没有办法启动 。如不进行架构设计级别的调整,要解决服务循环依赖,必须将其中一方的服务检查关闭,然后先于另一方启动 。
比如某个教育培训机构,将原有平台改造为微服务架构的过程中,用户服务发布在原有的个人中心 ,订单服务发布在运营平台 。在个人中心查看个人购买的课程时需要调用运营平台的订单服务,在运营平台查看订单详情时需要调用个人中心的用户服务 。运营平台和个人中心互为对方的服务提供者和消费者 。
运营平台配置
【技术编程|Dubbo高级特性应用之关闭服务检查】个人中心配置
此时便形成了服务的循环消费 。如果不将个人中心或运营平台其中一方的服务检查关闭,两个应用都将无法启动 。比如关闭运营平台用户服务userService的检查后,便可依次启动运营平台和个人中心 。当然,也可以粗暴的做法就是两个平台都关闭服务检查即可 。
#java开发工程师# #架构师# #诗和远方#

文章图片
学习工作之余,一起看看诗和远方:白云山摩星岭的日落
推荐阅读
- 更名为广东职业技术师范学院天河学院
- 36氪利用无人驾驶技术切入水域智慧环卫与维护,“欧卡智能”获千万元级融资
- 上游新闻|精度达到2-3米,北斗系统发言人:中国北斗攻克160余项关键技术
- IT之家|三星Galaxy Note 20将搭载UWP技术 传文件比NFC更快
- 央视新闻客户端|北斗系统工程新技术应用超过70%
- 问董秘|提供设备和技术的正是克劳...,投资者提问:中石油系统已经大量加入做聚丙烯熔喷料
- 我国|我国封锁“世界唯一专利”,日本出3000亿要买,美国要求技术共享
- 检测|辽宁派16支核酸检测医疗队驰援大连,研发10合1混采技术
- 北斗办:北斗与5G融合将推动无人驾驶等技术发展
- 北斗系统工程新技术应用超过70%
