[发明专利]微服务架构中分布式服务发现集群的数据一致性方法有效
申请号: | 201910720549.0 | 申请日: | 2019-08-06 |
公开(公告)号: | CN110661841B | 公开(公告)日: | 2022-05-20 |
发明(设计)人: | 王伟;张文毅 | 申请(专利权)人: | 江阴逐日信息科技有限公司 |
主分类号: | H04L67/51 | 分类号: | H04L67/51;H04L67/10;H04L67/1095;H04L43/10 |
代理公司: | 上海正策律师事务所 31271 | 代理人: | 吴磊 |
地址: | 214400 江苏省无锡*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 微服 架构 分布式 服务 发现 集群 数据一致性 方法 | ||
1.一种微服务架构中分布式服务发现集群的数据一致性方法,其特征在于,其包括以下步骤:
当客户端一服务实例启动时,从服务发现节点集群中任选一个服务发现节点作为Leader节点进行连接,将自身的服务信息发送到Leader节点中,服务发现节点集群中其他服务发现节点作为Follower节点,服务信息包括服务名称、IP地址、端口号、服务实例当前状态、服务实例数据类型、Leader节点ID、数据版本号、数据写入某一服务发现节点的时间、数据写入服务发现节点集群的时间、以及数据是否提交状态;
Leader节点以树形结构存储服务信息;
Leader节点将服务信息复制到其他Follower节点中;
客户端与Leader节点建立心跳连接,客户端每隔一段时间将发送一心跳请求给Leader节点,该心跳请求包括该服务实例的服务信息;
Leader节点在树形结构中查找该心跳请求中的服务信息,在未查找到时将心跳请求中的服务信息增添至根节点下,并初始化数据版本号、数据写入Leader节点的时间以及数据状态为不可提交状态,在查找到时更新相应的服务信息,并将数据版本号更新加一操作以及数据状态更新为不可提交状态;
Leader节点向其他Follower节点发送数据复制请求;
Leader节点收到其他Follower节点中半数以上的Follower节点的响应成功的信息时,将该心跳请求中服务信息中的数据状态由不可提交状态修改为可提交状态,将该心跳请求中的服务信息复制到响应成功的Follower节点中,并继续向没有响应成功的Follower节点发送数据复制请求;
Follower节点收到数据复制请求时在树形结构中查找数据复制请求中的服务信息,在未查找到时将数据复制请求中的服务信息增添至根节点下,在查找到时对比数据版本号,在数据复制请求中的数据版本号小于等于根节点下的当前数据版本号,则直接反馈响应成功的信息,在数据复制请求中的数据版本号大于根节点下的当前数据版本号,则将根节点下的当前数据修改为不可提交状态,并反馈响应成功的信息,后续复制数据复制请求中的服务信息。
2.如权利要求1所述的微服务架构中分布式服务发现集群的数据一致性方法,其特征在于,选出的服务发现节点以树形结构存储服务信息时,服务实例的服务名称作为根节点的子节点,并按字母表顺序排序,服务实例的IP地址和端口号作为叶子结点存放在相应服务名称的子节点下。
3.如权利要求1所述的微服务架构中分布式服务发现集群的数据一致性方法,其特征在于,Leader节点在客户端发的前一个心跳请求中的服务信息还未成功复制而后一个心跳请求已接收到时,直接采用后一个心跳请求中的服务信息覆盖掉原存储的数据并将数据版本号执行加一操作。
4.如权利要求1所述的微服务架构中分布式服务发现集群的数据一致性方法,其特征在于,Leader节点在收到一个心跳请求后超过一定时间阈值后还未收到心跳请求,则将对应的服务实例置为不可用。
5.如权利要求1所述的微服务架构中分布式服务发现集群的数据一致性方法,其特征在于,当某个Leader节点不可用时,与其连接的服务实例自动重连上新的服务发现节点,新的服务发现节点成为服务实例的新Leader节点并向其他节点同步数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江阴逐日信息科技有限公司,未经江阴逐日信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910720549.0/1.html,转载请声明来源钻瓜专利网。