一种全球化分布式程序协调服务系统技术方案

技术编号:28682849 阅读:17 留言:0更新日期:2021-06-02 03:01
本发明专利技术公开了一种全球化分布式程序协调服务系统,所述系统包括:服务注册中心FPZKServer、服务代理FPZKProxy、服务注册与订阅客户端FPZKClient,系统通过内嵌服务注册与订阅客户端FPZKClient对象,由内嵌的对象向服务注册中心FPZKServer发起注册服务请求或者订阅感兴趣的服务,FPZKServer收到服务注册请求后会缓存该服务的注册信息,并进行信息的同步,通过服务代理FPZKProxy实现服务发现的路由与负载均衡。本发明专利技术解决了现有分布式协同系统配置管理复杂、不能及时可靠的进行服务治理的问题。

【技术实现步骤摘要】
一种全球化分布式程序协调服务系统
本专利技术涉及分布式程序管理领域,具体涉及一种全球化分布式程序协调服务系统。
技术介绍
对于分布式系统,服务的发现和管理异常重要,当客户端发起rpc远程过程调用时,需要及时正确的处理请求。现阶段分布式系统的服务发现和治理有zookeeper与Eureka,zookeeper可以为同在一个分布式系统中的其他服务提供统一命名服务、配置管理、分布式锁服务、集群管理等功能。Zookeeper分为leader和follower,客户端在连接ZooKeeper服务集群时,会按照一定的随机算法选择集群中的某台服务器,然后和服务器共同创建一个TCP连接,使客户端连上服务器。出现当前服务器失效时,客户端自动会重新选择另一台服务器进行连接,从而保证服务的连续性。当其中一个客户端修改数据时,ZooKeeper会将修改同步到集群中所有的服务器上,从而使连接到集群中其它服务器上的客户端也能立即看到修改后的数据,保证了分布式环境中数据的一致性。作为分布式协同服务,ZooKeeper下所有节点不可能保证任何时候都能缓存所有的服务注册信息。多个zookeeper之间网络出现问题,造成出现多个leader,如果ZooKeeper下所有节点都断开了,或者集群中出现了网络分割的故障,由于交换机故障导致交换机下的子网间不能互访;那么ZooKeeper会将故障交换机都从管理范围中剔除出去,外界就不能访问到这些节点,即便这些节点本身是可用的,可以正常提供服务;所以导致到达这些节点的服务请求被丢失。ZooKeeper是按照CP原则构建的,也就是说它能保证每个节点的数据保持一致,而为ZooKeeper加上缓存的做法的目的是为了让ZooKeeper变得更加可靠;但是,ZooKeeper设计的本意是保持节点的数据一致,也就是CP,可能既得不到一个数据一致的CP也得不到一个高可用的AP的Service发现服务;因为,相当于在一个已有的CP系统上强制连接一个AP的系统,本质不通,一个Service发现服务应从一开始就被设计成高可用。eurekaconsumer本身有缓存,服务状态更新滞后,最常见的状况就是,服务下线了但是服务消费者还未及时感知,此时调用到已下线服务会导致请求失败,只能依靠consumer端的容错机制来保证。
技术实现思路
为此,本专利技术提供一种全球化分布式程序协调服务系统,以解决现有分布式协同系统配置管理复杂、不能及时可靠的进行服务治理的问题。为了实现上述目的,本专利技术提供如下技术方案:本专利技术公开了一种全球化分布式程序协调服务系统,所述系统包括:服务注册中心FPZKServer、服务代理FPZKProxy、服务注册与订阅客户端FPZKClient,系统通过内嵌服务注册与订阅客户端FPZKClient对象,由内嵌的对象向服务注册中心FPZKServer发起注册服务请求或者订阅感兴趣的服务,FPZKServer收到服务注册请求后会缓存该服务的注册信息,并进行信息的同步,通过服务代理FPZKProxy实现服务发现的路由与负载均衡。进一步地,所述服务注册中心FPZKServer进行集群部署,多个节点之间通过异步方式数据同步,保证数据最终一致性,FPZKServer作为开箱即用的服务注册中心,提供的功能包括:服务注册、服务查询、接收服务心跳、服务剔除、服务下线。进一步地,所述服务代理FPZKProxy服务发现的路由与负载均衡方式包括:CPFPZKBroadcastProxy广播代理、TCPFPZKCarpProxy一致性哈希代理、TCPFPZKConsistencyProxy强一致性代理、TCPFPZKRandomProxy随机代理、TCPFPZKRotatoryProxy循环代理、TCPFPZKOldestProxy最早注册/最久运行代理。进一步地,所述系统通过内嵌服务注册中心FPZKServer对象,向FPZKServer发起注册服务请求或者订阅感兴趣的服务;如果为注册服务,注册请求包括项目名称,服务名称,集群名称,节点ip地址等基本信息和自身机器负载情况,然后每2秒更新自身状态;如果为订阅感兴趣的服务,调用FPZKServer订阅接口并传入感兴趣的服务名称,后续服务的变动会以回调方式通知client。进一步地,所述服务注册中心FPZKServer收到服务注册请求后会缓存该服务的注册信息,然后同步给其他身份相同的peer,peer之间的状态是采用异步的方式同步的,保证最终状态是一致性,Peer分为内部和外部可见节点,外部可见节点peer列表需要在server的配置文件中配置。进一步地,所述服务注册中心FPZKServer为每一个服务增加一个版本号,当服务或者服务集群发生变动,版本号会改变,服务注册与订阅客户端FPZKClient会缓存订阅服务的最新的版本号。进一步地,述服务注册与订阅客户端FPZKClient会缓存订阅服务的最新的版本号的更新流程包括:通过代理方式更新和通过客户端更新;通过代理方式更新步骤为:通过各种代理路由方式,每次发起quest的时候会向服务器查询该服务的最新状态,和本地缓存作对比,不同则更新本地缓存;通过客户端更新步骤为:通过回调方式,client初始注册回调函数,当client感兴趣的服务变动时server会通知该订阅者并调用回调函数,回调调用时client更新本地缓存。进一步地,所述系统将失效服务进行剔除,FPZKClient和FPZKServer心跳连接是通过client的服务自身数据同步来实现,监测标准为server每200ms监测服务的上报状态时间,根据server的配置超时时间来判断服务是在失效时间内没有发送一次服务的状态信息,则认定改服务节点失效,失效时间可以通过server的配置文件配置。进一步地,所述服务注册中心FPZKServer可以动态载入配置文件,每200ms监测文件改动,重新加载新的配置。本专利技术具有如下优点:本专利技术公开了一种全球化分布式程序协调服务系统,服务的更新频率更高,准确度和时效性更好,从而使客户端请求每次都能正确的路由到想要的服务上。并且不会像zookeeper那样出现无法选举leader而提供不了服务的情况;除非所有FPZKServer节点全部宕机,否则会一直正常提供服务。附图说明为了更清楚地说明本专利技术的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本专利技术可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本专利技术所能产生的功效及所能达成的目的下,均应仍落在本专利技术所揭示的
技术实现思路
得能涵盖的本文档来自技高网
...

【技术保护点】
1.一种全球化分布式程序协调服务系统,其特征在于,所述系统包括:服务注册中心FPZKServer、服务代理FPZKProxy、服务注册与订阅客户端FPZKClient,系统通过内嵌服务注册与订阅客户端FPZKClient对象,由内嵌的对象向服务注册中心FPZKServer发起注册服务请求或者订阅感兴趣的服务,FPZKServer收到服务注册请求后会缓存该服务的注册信息,并进行信息的同步,通过服务代理FPZKProxy实现服务发现的路由与负载均衡。/n

【技术特征摘要】
1.一种全球化分布式程序协调服务系统,其特征在于,所述系统包括:服务注册中心FPZKServer、服务代理FPZKProxy、服务注册与订阅客户端FPZKClient,系统通过内嵌服务注册与订阅客户端FPZKClient对象,由内嵌的对象向服务注册中心FPZKServer发起注册服务请求或者订阅感兴趣的服务,FPZKServer收到服务注册请求后会缓存该服务的注册信息,并进行信息的同步,通过服务代理FPZKProxy实现服务发现的路由与负载均衡。


2.如权利要求1所述的一种全球化分布式程序协调服务系统,其特征在于,所述服务注册中心FPZKServer进行集群部署,多个节点之间通过异步方式数据同步,保证数据最终一致性,FPZKServer作为开箱即用的服务注册中心,提供的功能包括:服务注册、服务查询、接收服务心跳、服务剔除、服务下线。


3.如权利要求1所述的一种全球化分布式程序协调服务系统,其特征在于,所述服务代理FPZKProxy服务发现的路由与负载均衡方式包括:CPFPZKBroadcastProxy广播代理、TCPFPZKCarpProxy一致性哈希代理、TCPFPZKConsistencyProxy强一致性代理、TCPFPZKRandomProxy随机代理、TCPFPZKRotatoryProxy循环代理、TCPFPZKOldestProxy最早注册/最久运行代理。


4.如权利要求1所述的一种全球化分布式程序协调服务系统,其特征在于,所述系统通过内嵌服务注册中心FPZKServer对象,向FPZKServer发起注册服务请求或者订阅感兴趣的服务;
如果为注册服务,注册请求包括项目名称,服务名称,集群名称,节点ip地址等基本信息和自身机器负载情况,然后每2秒更新自身状态;
如果为订阅感兴趣的服务,调用FPZKServer订阅接口并传入感兴趣的服务名称,后续服务的变动会以回调方式通知client。


5.如权利要求1所...

【专利技术属性】
技术研发人员:马亚军施王兴杜晓祥
申请(专利权)人:北京云上曲率科技有限公司
类型:发明
国别省市:北京;11

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

1