【技术实现步骤摘要】
一种基于Paxos算法的微服务配置数据实时更新方法
本专利技术涉及微服务架构
,尤其是一种基于Paxos算法的微服务配置数据实时更新方法。
技术介绍
在微服务架构体系中,配置中心是比较重要的组件之一。配置中心用于统一管理应用集群中的配置数据,以实现集群内部各个主机配置一致的目的。避免配置不一致导致的集群服务异常。SpringCloud官方提供了一个SpringCloudConfig分布式配置中心,可以提供集中化的外部配置支持。它分为客户端和服务端两部分,其中服务端作为配置中心,是一个独立的微服务应用,用来连接Git仓库并为客户端提供获取配置的接口,其版本控制是基于Git仓库本身来支持的。配置数据的变更主要采用基于消息总线的架构方式,这种架构需要依赖外部的MQ组件,如RabbitMQ、Kafka实现远程环境事件变更通知,配置中心数据实时变更可以通过githook功能实现。当依赖的消息组件出现问题时,如果此时git仓库配置发生了变更,会导致部分或所有客户端无法获取到最新的配置,这样就造成了客户端应用配置数据无法达成最终一致 ...
【技术保护点】
1.一种基于Paxos算法的微服务配置数据实时更新方法,其特征在于,包括下述步骤,/nS1、构建分布式的配置中心服务端(1),并采用Paxos协议部署zookeeper服务集群作为所述配置中心服务端(1)的数据库;所述配置中心服务端(1)提供配置数据中心(2)的配置数据修改页面,在所述配置数据中心(2)的数据发生变更后,所述配置中心服务端(1)通过Multi-Paxos算法使所述zookeeper服务集群的数据保持一致性;/nS2、微服务应用集群(3)的配置中心客户端(4)与所述配置中心服务端(1)建立连接,且所述配置中心客户端(4)通过Watcher机制接收配置中心服务端 ...
【技术特征摘要】
1.一种基于Paxos算法的微服务配置数据实时更新方法,其特征在于,包括下述步骤,
S1、构建分布式的配置中心服务端(1),并采用Paxos协议部署zookeeper服务集群作为所述配置中心服务端(1)的数据库;所述配置中心服务端(1)提供配置数据中心(2)的配置数据修改页面,在所述配置数据中心(2)的数据发生变更后,所述配置中心服务端(1)通过Multi-Paxos算法使所述zookeeper服务集群的数据保持一致性;
S2、微服务应用集群(3)的配置中心客户端(4)与所述配置中心服务端(1)建立连接,且所述配置中心客户端(4)通过Watcher机制接收配置中心服务端(1)中zookeeper服务集群的数据变更事件通知;
S3、所述配置中心客户端(4)根据事件通知执行process并处理变更事件中微服务应用的实例数据变更操作,以使所述配置中心客户端(4)更新微服务应用中的配置数据,或者销毁微服务应用的实例后重新生成,且变更后的配置数据转换为json格式存储,配置数据的读取也使用json格式。
2.根据权利要求1所述的一种基于Paxos算法的微服务配置数据实时更新方法,其特征在于:所述zookeeper服务集群的数据保持一致性的步骤为:
A1、针对每一个要确定的值,运行一次Paxos算法实例,形成决议,并对每一个Paxos实例使用唯一的InstanceID标识;
A2、在所有Proposers中选举一个Leader,由Leader唯一地提交Proposal给Acceptors进行表决。
3.根据权利要求2所述的一种基于Paxos算法的微服务配置数据实时更新方法,其特征在于:所述Paxos算法包括下述步骤:
a1、Prepare阶段:Proposer向Acceptors发出Prepare请求,Acceptors针对收到的Prepare请求进行Promise承诺;
a2、Accept阶段:Proposer收到多数Acceptors承诺的Promise后,向Acceptors发出Propose请求,Acceptors针对收到的Propose请求进行Accept处理;
a3、第三阶段:Learn阶段。Proposer在收到多数Acceptors的Accept之后,标志着本次Accept成功,决议形成,将形成的决议发送给所有Learners。
4.根据权利要求1所述的一种基于Paxos算法的微服务配置数据实时更新方法,其特征在于:在步骤S2中,所述配置中心客户端(4)获得事件通知的步骤为:
B1、微服务应用集群(3)启动,每个微服务应用的实例创建一个配置中心客户端(4);
B2、所述配置中心客户端(4)初始化并...
【专利技术属性】
技术研发人员:赵亚飞,李华,秦董洪,黄继昌,于波,
申请(专利权)人:广西东信互联科技有限公司,广西民族大学,
类型:发明
国别省市:广西;45
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。