【技术实现步骤摘要】
一种分布式集群ID资源管理方法、系统、设备及介质
本专利技术属于微服务领域,特别涉及一种分布式集群ID资源管理方法、系统、设备及介质。
技术介绍
随着单体架构向微服务的快速发展,不同微服务之间往往需要申请分布式的类似ID的资源,这些ID需要集群内全局唯一,不冲突,并且可管理,在复杂的分布式的系统中,往往需要对大量的数据和消息进行唯一标识。目前业内常用的解决方案有UUID、Snowflake、Flicker、Redis、Zookeeper和Leaf等。
技术实现思路
专利技术目的:针对现有技术中存在的问题,专利技术公开了一种分布式集群ID资源管理方法、系统、设备及介质,在ETCD集群中的微服务,借助ETCD集群简单的键值对(KeyValue)操作,提出一种新的ID生成方式和管理办法,实现更加丰富多样化的ID申请和管理。技术方案:本专利技术采用如下技术方案:一种分布式集群ID资源管理方法,其特征在于,包括ID资源生成方法:S1、接收微服务申请ID的请求,生成KeyValue记录并执行该KeyValue操作,该KeyValue操作是在ETCD集群的回收池中查询该微服务的ID;S2、若回收池中存在该微服务的ID,则从ETCD集群中获取该ID并返回给微服务;S3、若回收池中不存在该微服务的ID,则生成KeyValue记录并执行该KeyValue操作,该KeyValue操作是在ETCD集群中请求新生成一个ID,从ETCD集群中获取该KeyValue记录的递增的版本号并结合该微服 ...
【技术保护点】
1.一种分布式集群ID资源管理方法,其特征在于,包括ID资源生成方法:/nS1、接收微服务申请ID的请求,生成KeyValue记录并执行该KeyValue操作,该KeyValue操作是在ETCD集群的回收池中查询该微服务的ID;/nS2、若回收池中存在该微服务的ID,则从ETCD集群中获取该ID并返回给微服务;/nS3、若回收池中不存在该微服务的ID,则生成KeyValue记录并执行该KeyValue操作,该KeyValue操作是在ETCD集群中请求新生成一个ID,从ETCD集群中获取该KeyValue记录的递增的版本号并结合该微服务的ID的配置进行计算,得到ID并返回给微服务。/n
【技术特征摘要】
1.一种分布式集群ID资源管理方法,其特征在于,包括ID资源生成方法:
S1、接收微服务申请ID的请求,生成KeyValue记录并执行该KeyValue操作,该KeyValue操作是在ETCD集群的回收池中查询该微服务的ID;
S2、若回收池中存在该微服务的ID,则从ETCD集群中获取该ID并返回给微服务;
S3、若回收池中不存在该微服务的ID,则生成KeyValue记录并执行该KeyValue操作,该KeyValue操作是在ETCD集群中请求新生成一个ID,从ETCD集群中获取该KeyValue记录的递增的版本号并结合该微服务的ID的配置进行计算,得到ID并返回给微服务。
2.根据权利要求1所述的一种分布式集群ID资源管理方法,其特征在于,微服务申请ID的请求中包括该微服务的业务模块名称;
生成的KeyValue记录中包括key和value,其中key根据微服务的业务模块名称构造,value根据微服务的ID的配置进行设置,若ID没有配置,则value=0;若ID有配置,则将配置的内容转换为Json字符串格式存储到value中。
3.根据权利要求1所述的一种分布式集群ID资源管理方法,其特征在于,步骤S2中还包括,在回收池中删除该ID。
4.根据权利要求1所述的一种分布式集群ID资源管理方法,其特征在于,步骤S3中,生成KeyValue记录并执行该KeyValue操作之前,还包括ETCD集群返回回收池中无可用ID资源的应答;
生成KeyValue记录并执行该KeyValue操作之后,ETCD集群中存储该KeyValue记录并返回Response,Response中包括该KeyValue记录的版本号。
5.根据权利要求1所述的一种分布式集群ID资源管理方法,其特征在于,根据微服务的ID的配置得到ID范围的最大值,步骤S3中,若计算得到的ID大于该最大值,则向微服务返回ID资源已经耗尽,微服务申请ID失败。
6.一种分布式集群ID资源管理方法,其特征在于,包括ID资源释放方法:
S1、接收微服务释放ID的请求,生成KeyValue记录并执行该KeyValue操作,该KeyValue操作是在ETCD集群的回收池中生成该微服务的待释放的ID的记录;
S2、向微服务返回释放ID成功。
7.根据权利要求6所述的一种分布式集群ID资源管理方法,其特征在于,微服务释放ID的请求中包括该微服务的业务模块名...
【专利技术属性】
技术研发人员:高松,张晨,黄韬,
申请(专利权)人:网络通信与安全紫金山实验室,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。