一种微服务注册方法及系统技术方案

技术编号:14548575 阅读:42 留言:0更新日期:2017-02-04 20:46
本发明专利技术实施例公开了一种微服务注册方法及系统,在集群中的每个节点上启动一个注册中心,包括:注册中心接收与注册中心相对应的本地的微服务所发送的注册请求信息;其中,注册请求信息携带的注册信息包括:微服务访问地址信息、服务提供信息和服务消费信息;注册中心将注册信息添加到注册中心的哈希表中;注册中心将本地的哈希表中的所有微服务的注册信息,同步到集群中除本注册中心之外的其他注册中心,本实施例提供的这种在集群中的每个节点上启动一个注册中心的方式,无需维护一个高可用的注册中心,并且其中一个注册中心宕机,也不会影响集群中的其它注册中心,有效避免了只有一个注册中心的宕机而导致系统瘫痪的风险。

【技术实现步骤摘要】

本专利技术涉及微服务注册
,更具体地说,涉及一种微服务注册方法及系统
技术介绍
“大平台+微应用”的软件架构模式,通过将“大系统”拆解为众多“微服务”,分布式部署在多节点的集群上,实现了简化管理。目前业界多采用中心化的分布式服务架构,服务提供者将微服务注册到注册中心服务器,服务消费者从注册中心服务器取得微服务列表,一旦注册中心服务器出现问题,服务注册和发现无法生效,整个系统就会瘫痪;而且所有微服务向一个注册中心服务器进行远程注册,当微服务数量过大时,会消耗大量的网络资源并带给注册中心服务器很大的压力。因此,如何避免当注册中心服务器出现问题而导致系统瘫痪,是现在需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种微服务注册方法及系统,以避免当注册中心服务器出现问题而导致系统瘫痪。为实现上述目的,本专利技术实施例提供了如下技术方案:一种微服务注册方法,在集群中的每个节点上启动一个注册中心,包括:注册中心接收与所述注册中心相对应的本地的微服务所发送的注册请求信息;其中,所述注册请求信息携带的注册信息包括:微服务访问地址信息、服务提供信息和服务消费信息;所述注册中心将所述注册信息添加到所述注册中心的哈希表中;所述注册中心将本地的哈希表中的所有微服务的注册信息,同步到集群中除本注册中心之外的其他注册中心。优选的,所述注册中心将本地的哈希表中的所有微服务的注册信息,同步到集群中除本注册中心之外的其他注册中心之后,包括:所述注册中心接收所述微服务所发送的发现请求信息;所述注册中心将本地的哈希表中的所有微服务的注册信息拼装成数组,并计算所有微服务注册信息的第一MD5校验码,将所述数组和所述第一MD5校验码发送至所述微服务;所述微服务接收所述数组和所述第一MD5校验码后,将所述数组保存至服务提供者列表,将所述第一MD5校验码保存至微服务容器。优选的,所述微服务接收所述数组和所述第一MD5校验码后,将所述数组保存至服务提供者列表,将所述第一MD5校验码保存至微服务容器之后,包括:所述注册中心接收所述微服务所发送的刷新请求信息;其中,所述刷新请求信息的URL中包含所述微服务本身的访问地址;所述注册中心判断所述发现请求信息携带的微服务访问地址是否存在;若是,则所述注册中心计算本地哈希表中的所有微服务注册信息的第二MD5校验码,并将所述第二MD5校验码与存活状态信息共同发送至所述微服务;若否,则所述注册中心将掉线状态信息发送至所述微服务;其中,所述微服务接收到所述掉线状态信息后,重新向所述注册中心发送注册请求信息,直至所述注册中心向所述微服务发送存活状态信息和第二MD5校验码;所述微服务接收到第二MD5校验码后,将所述第二MD5校验码与所述微服务容器中保存的所述第一MD5校验码进行比对;若不一致,则重新向所述注册中心发送发现请求信息。优选的,微服务与微服务之间的调用是通过RPC实现。优选的,所述注册中心通过Gossip协议与集群中除本注册中心之外的其他注册中心进行周期性通信,将所述注册中心中的变更注册信息进行同步变更。一种微服务注册系统,在集群中的每个节点上启动一个注册中心,包括:微服务和注册中心;其中,所述注册中心包括:第一接收模块,用于接收与所述注册中心相对应的本地的微服务所发送的注册请求信息;其中,所述注册请求信息携带的注册信息包括:微服务访问地址信息、服务提供信息和服务消费信息;添加模块,用于将所述注册信息添加到所述注册中心的哈希表中;同步模块,用于将本地的哈希表中的所有微服务的注册信息,同步到集群中除本注册中心之外的其他注册中心;所述微服务包括服务注册模块,用于向所述注册中心发送注册请求信息。优选的,所述注册中心包括:第二接收模块,用于接收所述微服务所发送的发现请求信息;拼装模块,用于将本地的哈希表中的所有微服务的注册信息拼装成数组;计算模块,用于计算所有微服务注册信息的第一MD5校验码;第一发送模块,用于将所述数组和所述第一MD5校验码发送至所述微服务;所述微服务包括:服务发现模块,用于向所述注册中心发送发现请求信息;微服务第一接收模块,用于接收所述数组和所述第一MD5校验码;第一保存模块,用于将所述数组保存至服务提供者列表;第二保存模块,用于将所述第一MD5校验码保存至微服务容器。优选的,所述注册中心包括:第三接收模块,用于接收所述微服务所发送的刷新请求信息;其中,所述刷新请求信息的URL中包含所述微服务本身的访问地址;判断模块,用于判断所述发现请求信息携带的微服务访问地址是否存在;若是,则触发存活状态发送模块和校验码发送模块;若否,则触发掉线状态发送模块;所述存活状态发送模块,用于向所述微服务发送存活状态信息;所述掉线状态发送模块,用于向所述微服务发送掉线状态信息;其中,当所述微服务接收到所述掉线状态信息后,会触发所述服务注册模块向所述注册中心发送注册请求信息;所述验证码发送模块,用于计算本地哈希表中的所有微服务注册信息的第二MD5校验码,并将所述第二MD5校验码发送至所述微服务;所述微服务包括:比对模块,用于将所述第二MD5校验码与微服务容器中保存的第一MD5校验码进行比对;若不一致,则触发所述服务发现模块。优选的,微服务与微服务之间的调用是通过RPC实现。优选的,所述注册中心通过Gossip协议与集群中除本注册中心之外的其他注册中心进行周期性通信,将所述注册中心中的变更注册信息进行同步变更。通过以上方案可知,本专利技术实施例提供的一种微服务注册方法及系统,在集群中的每个节点上启动一个注册中心,包括:注册中心接收与所述注册中心相对应的本地的微服务所发送的注册请求信息;其中,所述注册请求信息携带的注册信息包括:微服务访问地址信息、服务提供信息和服务消费信息;所述注册中心将所述注册信息添加到所述注册中心的哈希表中;所述注册中心将本地的哈希表中的所有微服务的注册信息,同步到集群中除本注册中心之外的其他注册中心,本实施例提供的这种在集群中的每个节点上启动一个注册中心的方式,无需维护一个高可用的注册中心,并且其中一个注册中心宕机,也不会影响集群中的其它注册中心,有效避免了只有一个注册中心的宕机而导致系统瘫痪的风险。同时这种本地化的微服务注册和发现功能,微服务只需要向本地的注册中心进行注册,集群中不同注册中心之间同步本文档来自技高网...

【技术保护点】
一种微服务注册方法,其特征在于,在集群中的每个节点上启动一个注册中心,包括:注册中心接收与所述注册中心相对应的本地的微服务所发送的注册请求信息;其中,所述注册请求信息携带的注册信息包括:微服务访问地址信息、服务提供信息和服务消费信息;所述注册中心将所述注册信息添加到所述注册中心的哈希表中;所述注册中心将本地的哈希表中的所有微服务的注册信息,同步到集群中除本注册中心之外的其他注册中心。

【技术特征摘要】
1.一种微服务注册方法,其特征在于,在集群中的每个节点上启动一个
注册中心,包括:
注册中心接收与所述注册中心相对应的本地的微服务所发送的注册请求
信息;其中,所述注册请求信息携带的注册信息包括:微服务访问地址信息、
服务提供信息和服务消费信息;
所述注册中心将所述注册信息添加到所述注册中心的哈希表中;
所述注册中心将本地的哈希表中的所有微服务的注册信息,同步到集群
中除本注册中心之外的其他注册中心。
2.根据权利要求1所述的微服务注册方法,其特征在于,所述注册中心
将本地的哈希表中的所有微服务的注册信息,同步到集群中除本注册中心之
外的其他注册中心之后,包括:
所述注册中心接收所述微服务所发送的发现请求信息;
所述注册中心将本地的哈希表中的所有微服务的注册信息拼装成数组,
并计算所有微服务注册信息的第一MD5校验码,将所述数组和所述第一MD5
校验码发送至所述微服务;
所述微服务接收所述数组和所述第一MD5校验码后,将所述数组保存至
服务提供者列表,将所述第一MD5校验码保存至微服务容器。
3.根据权利要求2所述的微服务注册方法,其特征在于,所述微服务接
收所述数组和所述第一MD5校验码后,将所述数组保存至服务提供者列表,
将所述第一MD5校验码保存至微服务容器之后,包括:
所述注册中心接收所述微服务所发送的刷新请求信息;其中,所述刷新
请求信息的URL中包含所述微服务本身的访问地址;
所述注册中心判断所述发现请求信息携带的微服务访问地址是否存在;
若是,则所述注册中心计算本地哈希表中的所有微服务注册信息的第二
MD5校验码,并将所述第二MD5校验码与存活状态信息共同发送至所述微
服务;若否,则所述注册中心将掉线状态信息发送至所述微服务;
其中,所述微服务接收到所述掉线状态信息后,重新向所述注册中心发
送注册请求信息,直至所述注册中心向所述微服务发送存活状态信息和第二
MD5校验码;
所述微服务接收到第二MD5校验码后,将所述第二MD5校验码与所述
微服务容器中保存的所述第一MD5校验码进行比对;若不一致,则重新向所
述注册中心发送发现请求信息。
4.根据权利要求3所述的微服务注册方法,其特征在于,微服务与微服
务之间的调用是通过RPC实现。
5.根据权利要求1-4中任意一项所述的微服务注册方法,其特征在于,
所述注册中心通过Gossip协议与集群中除本注册中心之外的其他注册中心进
行周期性通信,将所述注册中心中的变更注册信息进行同步变更。
6.一种微服务注册系统,其特征在于,在集群中的每个节点上启动一个
注册中心,包括:

【专利技术属性】
技术研发人员:王亚玲王涛王胜金逸王宝令崔蔚李春歧刘彬
申请(专利权)人:国网信息通信产业集团有限公司江苏省电力公司国家电网公司
类型:发明
国别省市:北京;11

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

1