一种基于树形结构的服务发现处理方法及装置制造方法及图纸

技术编号:19436705 阅读:32 留言:0更新日期:2018-11-14 13:13
本发明专利技术实施例公开了一种基于树形结构的服务发现处理方法及装置,方法包括:监听到目标Key发生读写操作后,若目标Key对应的对象为实例,则获取树形结构中目标Key对应的目标实例,对目标实例进行更新;若目标Key对应的对象不是实例,则获取树形结构中目标Key对应的第一目标节点,将目标Key对应的流量划分规则存储到第一目标节点中。通过从树形结构中获取目标Key对应的目标实例或第一目标节点,对树形结构中目标实例进行更新,或将目标Key对应的流量划分规则存储到第一目标节点中,当出现异常情况时无需手动执行,可以保证公司内部整体流量控制策略一致,也可以通过平台化管理,主动修改某个服务或产品线的流量策略,同时能解决灰度环境或A or B环境的问题。

【技术实现步骤摘要】
一种基于树形结构的服务发现处理方法及装置
本专利技术实施例涉及通信
,具体涉及一种基于树形结构的服务发现处理方法及装置。
技术介绍
对于一个成熟的互联网技术公司,服务多地域部署、多机房冗余容灾是必备技术。当服务实例按照地域、机房或逻辑划分后,流量划分与控制就变的尤为重要。因为往往跨地域、跨机房的远程资源访问,网络耗时是非常长的,所以通常情况下,用户希望服务与服务之间的RPC调用默认是遵循同地域同机房内访问的。而当某些异常情况发生时,用户又希望可以通过简单的操作,将默认的规则(同机房同地域)进行短暂的调整。现有技术中,存在各种各样的方式来达成目的。比如在服务发现、配置中心中配置所有的远程资源地址,并打好标签。RPC调用远程资源前,根据当前机器所在地域机房优先读取出同地域同机房标签的资源地址。当某些异常情况出现,不希望流量流向某些地域或某些机房,运维人员需手动屏蔽掉服务发现、配置中心内的所有该地域该机房的远程资源信息。有很多开源RPC框架封装了以上逻辑来达成目的,比如:dubbo。但是这种重量级框架仅限于JAVA使用,整个公司的服务跨多语言时,就难保证策略一致。另外,还存在一些场景本文档来自技高网...

【技术保护点】
1.一种基于树形结构的服务发现处理方法,其特征在于,包括:若监听到目标键值Key发生读写操作,则判断所述目标Key对应的对象;若所述目标Key对应的对象为实例,则获取树形结构中所述目标Key对应的目标实例,并根据所述读写操作对所述树形结构中所述目标实例进行更新;若所述目标Key对应的对象不是实例,则获取树形结构中所述目标Key对应的第一目标节点,并将所述目标Key对应的流量划分规则存储到所述第一目标节点中。

【技术特征摘要】
1.一种基于树形结构的服务发现处理方法,其特征在于,包括:若监听到目标键值Key发生读写操作,则判断所述目标Key对应的对象;若所述目标Key对应的对象为实例,则获取树形结构中所述目标Key对应的目标实例,并根据所述读写操作对所述树形结构中所述目标实例进行更新;若所述目标Key对应的对象不是实例,则获取树形结构中所述目标Key对应的第一目标节点,并将所述目标Key对应的流量划分规则存储到所述第一目标节点中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若判断获知第二目标节点中无流量划分规则,则获取所述第二目标节点的父节点,并将所述父节点的流量划分规则作为所述第二目标节点的流量划分规则。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取第三目标节点的目标流量划分规则,根据当前机房的标识和所述目标流量划分规则获取所有的流量划分单元;根据预设的平均值算法获取目标流量划分单元,并根据所述目标流量划分单元确定所述树形结构中的目标实例。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:通过软件开发工具包SDK提供的函数读取树形结构中所有的实例和流量划分规则。5.一种基于树形结构的服务发现处理装置,其特征在于,包括:对象判断装置,用于若监听到目标键值Key发生读写操作,则判断所述目标Key对应的对象;实例更新模块,用于若所述目标Key对应的对象为实例,则获取树形结构中所述目标Key对应的目标实例,并根...

【专利技术属性】
技术研发人员:朱旋黄鹏
申请(专利权)人:北京顺丰同城科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1