CN111200560A - 微服务注册方法、装置、设备及存储介质 - Google Patents

微服务注册方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111200560A
CN111200560A CN201911365923.6A CN201911365923A CN111200560A CN 111200560 A CN111200560 A CN 111200560A CN 201911365923 A CN201911365923 A CN 201911365923A CN 111200560 A CN111200560 A CN 111200560A
Authority
CN
China
Prior art keywords
registration
address
request information
center
micro
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911365923.6A
Other languages
English (en)
Other versions
CN111200560B (zh
Inventor
翟岳辉
刘亚猛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN201911365923.6A priority Critical patent/CN111200560B/zh
Publication of CN111200560A publication Critical patent/CN111200560A/zh
Application granted granted Critical
Publication of CN111200560B publication Critical patent/CN111200560B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及云技术领域,公开了一种微服务注册方法、装置、设备及存储介质,利用洗牌算法对注册中心的注册地址进行打乱,并在注册中心的注册地址保存在本地数据库中之后再进行微服务的注册,提高了注册中心的使用效率,本发明方法包括:获取注册中心的注册地址,并通过洗牌算法打乱注册地址,得到打乱后的注册地址;利用打乱后的注册地址接收微服务发送的注册请求信息;若成功接收注册请求信息,则将注册请求信息添加到注册中心携带的路由表中;若未成功接收注册请求信息,则将注册地址添加到微服务携带的预置不可用列表中,并在除本注册中心外的其他注册中心中接收注册请求信息,直到在其他注册中心中成功接收注册请求信息。

Description

微服务注册方法、装置、设备及存储介质
技术领域
本发明涉及云技术领域,尤其涉及微服务注册方法、装置、设备及存储介质。
背景技术
微服务架构,是一种将软件应用程序设计为可独立部署的服务套件的特定方式,其是将单应用程序作为一套小型服务开发的方法,每种应用程序均在其本身的进程中运行,并与轻量级机制进行通信,微服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。
目前,业界多采用中心化的分布式服务架构,服务提供者将微服务注册到服务器的注册中心上,服务消费者从注册中心所携带的路由表上获取微服务的地址列表,这样获取微服务地址的方式既集中又快捷。
但是,当所有微服务向一个注册中心进行注册时,注册中心分担的压力很大,会消耗大量的网络资源也会导致整个***瘫痪,使得微服务无法完成地址的注册,同时整个注册中心上的微服务地址均无法采用。
发明内容
本发明的提供一种微服务注册方法、装置、设备及存储介质,用于解决微服务在注册地址时,服务器的注册中心失效的问题,提高了注册中心的使用效率。
为本发明实施例的第一方面提供一种微服务注册方法,包括:获取注册中心的注册地址,并通过洗牌算法打乱所述注册地址,得到打乱后的注册地址;利用所述打乱后的注册地址接收微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥;若成功接收所述注册请求信息,则将所述注册请求信息添加到所述注册中心携带的路由表中;若未成功接收所述注册请求信息,则将所述注册地址添加到所述微服务携带的预置不可用列表中,并在除本所述注册中心外的其他注册中心中接收所述注册请求信息,直到在所述其他注册中心中成功接收所述注册请求信息。
可选的,在本发明实施例第一方面的第一种实现方式中,获取所述打乱后的注册地址中排列第一的注册地址,并在第一注册中心所携带的路由表中添加微服务的地址,所述排列第一的注册地址是对应所述第一注册中心的地址;在预置时长内,通过所述第一注册中心向所述微服务发送探测数据包;接收所述微服务依据所述探测数据包反馈的探测回应数据包,并在所述第一注册中心中获取微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥。
可选的,在本发明实施例第一方面的第二种实现方式中,获取所述打乱后的注册地址中排列第一的注册地址,所述排列第一的注册地址是对应第一注册中心的地址;判断所述排列第一的注册地址是否在本地数据库中;若所述排列第一的注册地址不在所述本地数据库中,则将所述第一注册中心所携带的路由表保存在所述本地数据库中,并在所述第一注册中心所携带的路由表中添加微服务的地址;若所述排列第一的注册地址在所述本地数据库中,则在所述第一注册中心所携带的路由表中添加微服务的地址。
可选的,在本发明实施例第一方面的第三种实现方式中,若所述微服务接收到所述探测数据包,则接收所述微服务反馈的探测回应数据包,并在所述第一注册中心中获取微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥;若所述微服务未接收到所述探测数据包,则在所述第一注册中心所携带的路由表中删除所述微服务的地址。
可选的,在本发明实施例第一方面的第四种实现方式中,在所述第一注册中心中,判断待验证密钥是否与预置密钥相同;若所述待验证密钥与所述预置密钥相同,则成功接收所述注册请求信息,并将所述注册请求信息添加到所述第一注册中心所携带的路由表中。
可选的,在本发明实施例第一方面的第五种实现方式中,若所述待验证密钥与所述预置密钥不相同,则未成功接收所述注册请求信息,并将排列第一的注册地址添加到所述微服务所携带的预置不可用列表中;获取所述打乱后的注册地址中排列第二的注册地址,所述排列第二的注册地址是对应第二注册中心的地址;在所述第二注册中心中,接收所述微服务发送的所述注册请求信息,若所述第二注册中心成功接收所述注册请求信息,则将所述注册请求信息添加到所述第二注册中心所携带的路由表中;若所述第二注册中心未成功接收所述注册请求信息,则将所述第二注册中心的注册地址添加到所述微服务所携带的预置不可用列表中,并在所述打乱后的注册地址中排列第三的注册地址中接收所述注册请求信息,直到在注册中心中成功接收所述注册请求信息。
可选的,在本发明实施例第一方面的第六种实现方式中,按顺序获取n个注册中心的注册地址,n为自然数;生成随机数x,获取位列第x的注册地址,并将所述位列第x的注册地址与位列第n的注册地址互换,作为排列倒数第一的注册地址,x的取值范围为[0,n-1];生成随机数y,获取位列第y的注册地址,并将所述位列第y的注册地址与位列第n-1的注册地址互换,作为排列倒数第二的注册地址,y的取值范围为[0,n-2];直到输出n个所述注册中心的注册地址,得到打乱后的注册地址。
本发明实施例的第二方面提供一种微服务注册装置,包括:打乱单元,用于获取注册中心的注册地址,并通过洗牌算法打乱所述注册地址,得到打乱后的注册地址;接收单元,用于利用所述打乱后的注册地址接收微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥;第一添加单元,若成功接收所述注册请求信息,则用于将所述注册请求信息添加到所述注册中心携带的路由表中;第二添加单元,若未成功接收所述注册请求信息,则用于将所述注册地址添加到所述微服务携带的预置不可用列表中,并在除本所述注册中心外的其他注册中心中接收所述注册请求信息,直到在所述其他注册中心中成功接收所述注册请求信息。
可选的,在本发明实施例第二方面的第一种实现方式中,接收单元包括:获取模块,用于获取所述打乱后的注册地址中排列第一的注册地址,并在第一注册中心所携带的路由表中添加微服务的地址,所述排列第一的注册地址是对应所述第一注册中心的地址;发送模块,用于在预置时长内,通过所述第一注册中心向所述微服务发送探测数据包;接收模块,用于接收所述微服务依据所述探测数据包反馈的探测回应数据包,并在所述第一注册中心中获取微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥。
可选的,在本发明实施例第二方面的第二种实现方式中,获取模块具体用于:获取所述打乱后的注册地址中排列第一的注册地址,所述排列第一的注册地址是对应第一注册中心的地址;判断所述排列第一的注册地址是否在本地数据库中;若所述排列第一的注册地址不在所述本地数据库中,则将所述第一注册中心所携带的路由表保存在所述本地数据库中,并在所述第一注册中心所携带的路由表中添加微服务的地址;若所述排列第一的注册地址在所述本地数据库中,则在所述第一注册中心所携带的路由表中添加微服务的地址。
可选的,在本发明实施例第二方面的第三种实现方式中,接收模块具体用于:若所述微服务接收到所述探测数据包,则接收所述微服务反馈的探测回应数据包,并在所述第一注册中心中获取微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥;若所述微服务未接收到所述探测数据包,则在所述第一注册中心所携带的路由表中删除所述微服务的地址。
可选的,在本发明实施例第二方面的第四种实现方式中,第一添加单元具体用于:在所述第一注册中心中,判断待验证密钥是否与预置密钥相同;若所述待验证密钥与所述预置密钥相同,则成功接收所述注册请求信息,并将所述注册请求信息添加到所述第一注册中心所携带的路由表中。
可选的,在本发明实施例第二方面的第五种实现方式中,第二添加单元具体用于:若所述待验证密钥与所述预置密钥不相同,则未成功接收所述注册请求信息,并将排列第一的注册地址添加到所述微服务所携带的预置不可用列表中;获取所述打乱后的注册地址中排列第二的注册地址,所述排列第二的注册地址是对应第二注册中心的地址;在所述第二注册中心中,接收所述微服务发送的所述注册请求信息,若所述第二注册中心成功接收所述注册请求信息,则将所述注册请求信息添加到所述第二注册中心所携带的路由表中;若所述第二注册中心未成功接收所述注册请求信息,则将所述第二注册中心的注册地址添加到所述微服务所携带的预置不可用列表中,并在所述打乱后的注册地址中排列第三的注册地址中接收所述注册请求信息,直到在注册中心中成功接收所述注册请求信息。
可选的,在本发明实施例第二方面的第六种实现方式中,打乱单元具体用于:按顺序获取n个注册中心的注册地址,n为自然数;生成随机数x,获取位列第x的注册地址,并将所述位列第x的注册地址与位列第n的注册地址互换,作为排列倒数第一的注册地址,x的取值范围为[0,n-1];生成随机数y,获取位列第y的注册地址,并将所述位列第y的注册地址与位列第n-1的注册地址互换,作为排列倒数第二的注册地址,y的取值范围为[0,n-2];直到输出n个所述注册中心的注册地址,得到打乱后的注册地址。
本发明实施例的第三方面提供了一种微服务注册设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施方式所述的基于微服务注册方法。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例,利用洗牌算法对注册中心的注册地址进行打乱,令微服务按照注册地址排列的顺序选择相应的注册中心进行注册,并将注册中心的注册地址保存在本地数据库中,提高了注册中心的使用效率。
附图说明
图1为本发明中微服务注册方法的一个实施例示意图;
图2为本发明中微服务注册方法的另一个实施例示意图;
图3为本发明中微服务注册装置的一个实施例示意图;
图4为本发明中微服务注册装置的另一个实施例示意图;
图5为本发明中微服务注册设备的一个实施例示意图。
具体实施方式
本发明的提供一种微服务注册方法,用于解决微服务在注册地址时,服务器的注册中心失效的问题,提高了注册中心的使用效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,本发明实施例中微服务注册方法一个实施例包括:
101、获取注册中心的注册地址,并通过洗牌算法打乱注册地址,得到打乱后的注册地址。
服务器获取注册中心的注册地址,并通过洗牌算法打乱注册地址,得到打乱后的注册地址。
需要解释的是,这里服务器利用洗牌算法将注册中心的注册地址打乱,再进行微服务地址的注册,若未将注册中心的注册地址打乱,则会出现将微服务的注册地址全部注册在同一注册中心的情况,从而导致注册中心的压力过大,不能进行正常的访问操作,而在把注册中心的注册地址打乱之后,微服务可以均匀的注册到注册中心,并不会造成只注册到一个注册中心的情况,导致注册中心失效。洗牌算法的原理是每次从未处理的数据中随机取出一个数字,然后把该数字所对应的数据放在数组的尾部,即数组尾部存放的是已经处理过的数据。
102、利用打乱后的注册地址接收微服务发送的注册请求信息,注册请求信息中包括待验证密钥。
服务器利用打乱后的注册地址接收微服务发送的注册请求信息,注册请求信息中包括待验证密钥。
微服务在进行实例启动时,会在服务器的注册中心进行注册,也就是在注册中心报备微服务的基本信息,基本信息包括微服务的IP地址、微服务的接口列表等,当其他微服务请求注册中心访问该微服务时,注册中心会依据携带在路由表中的微服务地址,将访问请求返回给该微服务,该微服务会根据这份访问请求进行相关服务。因为注册中心携带的路由表是存放在服务器的内存中,内存也被称为内存储器,是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据,只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行,也就是说当计算机断电时,内存的数据就会丢掉,因此,在这里将注册中心携带的路由表保存在本地数据库中,也就是保存在磁盘上,磁盘是指利用磁记录技术存储数据的存储器,磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且即时计算机断电后也能保持数据不丢失,这样就保证了注册中心所携带的路由表不会丢失。此外,注册请求信息中包括待验证密钥,是为了保证信息传递的安全,待微服务在进行注册时,会利用待验证密钥与注册中心中的预置密钥进行匹配,验证微服务是否为安全的用户,这样的设计保证了微服务信息传递的安全性。
103、若成功接收注册请求信息,则将注册请求信息添加到注册中心携带的路由表中。
若成功接收注册请求信息,则服务器将注册请求信息添加到注册中心携带的路由表中。具体的,在第一注册中心中,服务器判断待验证密钥是否与预置密钥相同;若待验证密钥与预置密钥相同,则服务器成功接收注册请求信息,并将注册请求信息添加到第一注册中心所携带的路由表中。
可以理解的是,在服务器判断注册中心是否成功接收到微服务发送的注册请求信息时,是依据判断注册请求信息中的待验证密钥是否与配置中心中的预置密钥相同决定的,若预置密钥与待验证密钥相同,则说明微服务地址通过配置中心的安全检测,注册中心可以接收微服务发送的注册请求信息;若预置密钥与待验证密钥不相同,则说明微服务地址不能通过配置中心的安全检测,导致注册中心不能接收微服务发送过来的注册请求信息。这里的预置密钥是服务器通过获取微服务的地址与配置中心本身中携带的鉴权密钥进行密钥衍生得到的,待验证密钥是微服务将微服务的地址与安全密钥进行密钥衍生得到的,安全密钥是微服务本身携带的密钥,服务器判断预置密钥与待验证密钥是否相同,即判断微服务端的安全密钥与鉴权密钥是否相同,若微服务端携带的安全密钥与注册中心的鉴权密钥相同,说明该微服务通过配置中心的安全监测,注册中心可以接收微服务发送的注册请求信息。
需要说明的是,这里利用到了密钥衍生算法,密钥衍生算法也被称为密钥分散算法,是用于从一些密值中衍生出密钥的确定性算法,例如:服务器内设有一个双长度(一个长度密钥为8个字节)的主密钥,利用主密钥对需要加密的数据进行分散处理,推导出一个双长度的加密密钥。服务器在进行加密和解密的过程中使用相同的密钥,使得两个密钥可以简单地互相推算的密钥。
104、若未成功接收注册请求信息,则将注册地址添加到微服务携带的预置不可用列表中,并在除本注册中心外的其他注册中心中接收注册请求信息,直到在其他注册中心中成功接收注册请求信息。
若未成功接收注册请求信息,则服务器将注册地址添加到微服务携带的预置不可用列表中,并在除本注册中心外的其他注册中心中接收注册请求信息,直到在其他注册中心中成功接收注册请求信息。
这里的预置不可用列表是提前设置在微服务中的,当微服务不能与第一注册中心连通,则说明第一注册中心不可用,并将第一注册中心对应的注册地址加入预置不可用列表中;然后服务器获取在打乱后的注册地址中排列第二的注册地址,并尝试与排列第二的注册地址相对的第二注册中心连通,向第二注册中心发动注册请求信息,其中,第二注册中心接收注册请求信息的过程与第一注册中心接收请求信息的过程相同,若第二注册中心成功接收到注册请求信息,则将注册请求信息添加到第二注册中心所携带的路由表中,完成微服务的注册;若第二注册中心未成功接收到注册请求信息,则服务器先将排列第二的注册地址添加到微服务携带的预置不可用列表中,再获取打乱后的注册地址中排列第三的注册地址,重复上述步骤,直到完成微服务信息的注册。
需要说明的是,微服务不能与第一注册中心连通,说明第一注册中心与该微服务之间的通信被截断,但是第一注册中心还可以与除本微服务外的微服务进行连通,并不代表第一注册中心不能与任何一个微服务进行通信连接。
本发明实施例,利用洗牌算法对注册中心的注册地址进行打乱,令微服务按照注册地址排列的顺序选择相应的注册中心进行注册,并将注册中心的注册地址保存在本地数据库中,提高了注册中心的使用效率。
请参阅图2,本发明实施例中微服务注册方法另一个实施例包括:
201、获取注册中心的注册地址,并通过洗牌算法打乱注册地址,得到打乱后的注册地址。
服务器获取注册中心的注册地址,并通过洗牌算法打乱注册地址,得到打乱后的注册地址。具体的,服务器按顺序获取n个注册中心的注册地址,n为自然数;服务器生成随机数x,获取位列第x的注册地址,并将位列第x的注册地址与位列第n的注册地址互换,作为排列倒数第一的注册地址,x的取值范围为[0,n-1];服务器生成随机数y,获取位列第y的注册地址,并将位列第y的注册地址与位列第n-1的注册地址互换,作为排列倒数第二的注册地址,y的取值范围为[0,n-2];服务器直到输出n个注册中心的注册地址,得到打乱后的注册地址。
需要解释的是,这里服务器利用洗牌算法将注册中心的注册地址打乱,再进行微服务地址的注册,若未将注册中心的注册地址打乱,则会出现将微服务的注册地址全部注册在同一注册中心的情况,从而导致注册中心的压力过大,不能进行正常的访问操作,而在把注册中心的注册地址打乱之后,微服务可以均匀的注册到注册中心,并不会造成只注册到一个注册中心的情况,导致注册中心失效。洗牌算法的原理是每次从未处理的数据中随机取出一个数字,然后把该数字所对应的数据放在数组的尾部,即数组尾部存放的是已经处理过的数据。
举例来说,服务器顺序获取n个注册中心的注册地址,n为自然数;服务器生成随机数x,其中x的取值范围为[0,n-1],获取位列第x的注册地址,并将其与位列第n的注册地址互换,作为排列倒数第一的注册地址;服务器生成随机数y,其中y的取值范围为[0,n-2],获取位列第y的注册地址,并将其与位列第n-1的注册地址互换,作为排列倒数第二的注册地址;循环上述步骤,直到输出n个注册中心的注册地址,便得到打乱后的注册地址。对于n个注册地址来说,在第一次交换过后,排列在第n个位置上的注册地址的概率为1/n,在第二次交换过后,排列在第n-1个位置上的注册地址的概率为:[(n-1)/n]×[1/(n-1)]=1/n,在第k次交换过后,排列在第n-k+1个位置上的注册地址的概率为:[(n-1)/n]×[(n-2)/(n-1)]×…×[(n-k+1)/(n-k+2)]×[1/(n-k+1)]=1/n,排列在每个位置上的注册地址的概率均相同,保证了注册地址排列的均匀分布。
202、获取打乱后的注册地址中排列第一的注册地址,并在第一注册中心所携带的路由表中添加微服务的地址,排列第一的注册地址是对应第一注册中心的地址。
服务器获取打乱后的注册地址中排列第一的注册地址,并在第一注册中心所携带的路由表中添加微服务的地址,排列第一的注册地址是对应第一注册中心的地址。具体的,服务器获取打乱后的注册地址中排列第一的注册地址,排列第一的注册地址是对应第一注册中心的地址;服务器判断排列第一的注册地址是否在本地数据库中;若排列第一的注册地址不在本地数据库中,则服务器将第一注册中心所携带的路由表保存在本地数据库中,并在第一注册中心所携带的路由表中添加微服务的地址;若排列第一的注册地址在本地数据库中,则服务器在第一注册中心所携带的路由表中添加微服务的地址。
微服务在进行实例启动时,会在服务器的注册中心进行注册,也就是在注册中心报备微服务的基本信息,基本信息包括微服务的IP地址、微服务的接口列表等,当其他微服务请求注册中心访问该微服务时,注册中心会依据携带在路由表中的微服务地址,将访问请求返回给该微服务,该微服务会根据这份访问请求进行相关服务。因为注册中心携带的路由表是存放在服务器的内存中,内存也被称为内存储器,是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据,只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行,也就是当计算机断电时,内存的数据就会丢掉,因此,在这里将注册中心携带的路由表保存在本地数据库中,也就是保存在磁盘上,磁盘是指利用磁记录技术存储数据的存储器,磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且即使计算机断电后也能保持数据不丢失,这样就保证了注册中心所携带的路由表不会丢失。
待服务器获取打乱后的注册地址中排列第一的注册地址后,需要判断排列第一的注册地址是否在本地数据库中,只有注册中心的注册地址保存在本地数据库中,计算机断电时注册中心所携带的路由表才不会丢失,因此服务器需要对注册中心的地址进行位置的判断,注册地址不在本地数据库中,需先将注册地址保存在本地数据库中,再进行下一步的操作。
203、在预置时长内,通过第一注册中心向微服务发送探测数据包。
在预置时长内,服务器通过第一注册中心向微服务发送探测数据包。
可以理解的是,在注册中心向微服务发送注册请求信息时,需要确认微服务是否正常工作,这里利用了心跳机制来检测微服务是否处于正常工作状态,心跳机制会像心跳一样每隔固定时长内对微服务发一次探测数据包,微服务接收到探测数据包后会返回一个探测回应数据包,以此来证明该微服务还处于正常的工作状态。心跳机制是注册中心主动去发探测数据包判断微服务的状态,然后等待微服务更新自己的当前状态,也就是定时反馈探测回应数据包,如果微服务超过指定的时长内没有来更新状态,则认为微服务已经宕机或者其状态异常。
204、接收微服务依据探测数据包反馈的探测回应数据包,并在第一注册中心中获取微服务发送的注册请求信息,注册请求信息中包括待验证密钥。
服务器接收微服务依据探测数据包反馈的探测回应数据包,并在第一注册中心中获取微服务发送的注册请求信息,注册请求信息中包括待验证密钥。具体的,若微服务接收到探测数据包,则服务器接收微服务反馈的探测回应数据包,并在第一注册中心中获取微服务发送的注册请求信息,注册请求信息中包括待验证密钥;若微服务未接收到探测数据包,则服务器在第一注册中心所携带的路由表中删除微服务的地址。
可以理解的是,这里的服务器并不对探测数据包做特别的规定,一般都为很小的数据包,或者只包含数据包包头的一个空数据包,利用定时器,在预置时长下注册中心发送一个空数据包给微服务,然后微服务反馈一个同样的空数据包回来,服务器如果在一定时长内收不到微服务发送过来的反馈包,说明微服务未处于正常工作的状态。在服务器获知微服务断线之后,服务器的逻辑层将记录在注册中心所携带的路由表中的微服务地址删除,并停止接收微服务发来的注册请求信息。总的来说,心跳机制主要也就是用于长连接的保活和断线处理。一般情况下,预置时长设定为5分钟,可以根据实际情况对预置时长进行设定,这里并不对预置时长的长短进行设定。
205、若成功接收注册请求信息,则将注册请求信息添加到注册中心携带的路由表中。
若成功接收注册请求信息,则服务器将注册请求信息添加到注册中心携带的路由表中。具体的,在第一注册中心中,服务器判断待验证密钥是否与预置密钥相同;若待验证密钥与预置密钥相同,则服务器成功接收注册请求信息,并将注册请求信息添加到第一注册中心所携带的路由表中。
可以理解的是,在服务器判断注册中心是否成功接收到微服务发送的注册请求信息时,是依据判断注册请求信息中的待验证密钥是否与配置中心中的预置密钥相同决定的,若预置密钥与待验证密钥相同,则说明微服务地址通过配置中心的安全检测,注册中心可以接收微服务发送的注册请求信息;若预置密钥与待验证密钥不相同,则说明微服务地址不能通过配置中心的安全检测,导致注册中心不能接收微服务发送过来的注册请求信息。这里的预置密钥是服务器通过获取微服务的地址与配置中心本身中携带的鉴权密钥进行密钥衍生得到的,待验证密钥是微服务将微服务的地址与安全密钥进行密钥衍生得到的,安全密钥是微服务本身携带的密钥,判断服务器预置密钥与待验证密钥是否相同,即判断微服务端的安全密钥与鉴权密钥是否相同,若微服务端携带的安全密钥与注册中心的鉴权密钥相同,说明该微服务通过配置中心的安全监测,注册中心可以接收微服务发送的注册请求信息。
需要说明的是,这里利用到了密钥衍生算法,密钥衍生算法也被称为密钥分散算法,是用于从一些密值中衍生出密钥的确定性算法,例如:服务器内设有一个双长度(一个长度密钥为8个字节)的主密钥,利用主密钥对需要加密的数据进行分散处理,推导出一个双长度的加密密钥。服务器在进行加密和解密的过程中使用相同的密钥,使得两个密钥可以简单地互相推算的密钥。
206、若未成功接收注册请求信息,则将注册地址添加到微服务携带的预置不可用列表中,并在除本注册中心外的其他注册中心中接收注册请求信息,直到在其他注册中心中成功接收注册请求信息。
若未成功接收注册请求信息,则服务器将注册地址添加到微服务携带的预置不可用列表中,并在除本注册中心外的其他注册中心中接收注册请求信息,直到在其他注册中心中成功接收注册请求信息。具体的,若待验证密钥与预置密钥不相同,则服务器未成功接收注册请求信息,并将排列第一的注册地址添加到微服务所携带的预置不可用列表中;服务器获取打乱后的注册地址中排列第二的注册地址,排列第二的注册地址是对应第二注册中心的地址;在第二注册中心中,服务器接收微服务发送的注册请求信息,若第二注册中心成功接收注册请求信息,则将注册请求信息添加到第二注册中心所携带的路由表中;若第二注册中心未成功接收注册请求信息,则服务器将第二注册中心的注册地址添加到微服务所携带的预置不可用列表中,并在打乱后的注册地址中排列第三的注册地址中接收注册请求信息,直到在注册中心中成功接收注册请求信息。
这里的预置不可用列表是提前设置在微服务中的,当微服务不能与第一注册中心连通,则说明第一注册中心不可用,并将第一注册中心对应的注册地址加入预置不可用列表中;然后服务器获取在打乱后的注册地址中排列第二的注册地址,并尝试与排列第二的注册地址相对的第二注册中心连通,向第二注册中心发动注册请求信息,其中,第二注册中心接收注册请求信息的过程与第一注册中心接收请求信息的过程相同,若第二注册中心成功接收到注册请求信息,则服务器将注册请求信息添加到第二注册中心所携带的路由表中,完成微服务的注册;若第二注册中心未成功接收到注册请求信息,则服务器先将排列第二的注册地址添加到微服务携带的预置不可用列表中,再获取打乱后的注册地址中排列第三的注册地址,重复上述步骤,直到完成微服务信息的注册。
需要说明的是,微服务不能与第一注册中心连通,说明第一注册中心与该微服务之间的通信被截断,但是第一注册中心还可以与除本微服务外的微服务进行连通,并不代表第一注册中心不能与任何一个微服务进行通信连接。
本发明实施例,利用洗牌算法对注册中心的注册地址进行打乱,令微服务按照注册地址排列的顺序选择相应的注册中心进行注册,并将注册中心的注册地址保存在本地数据库中,提高了注册中心的使用效率。
上面对本发明实施例中微服务注册方法进行了描述,下面对本发明实施例中微服务注册装置进行描述,请参阅图3,本发明实施例中微服务注册装置一个实施例包括:
打乱单元301,用于获取注册中心的注册地址,并通过洗牌算法打乱注册地址,得到打乱后的注册地址;
接收单元302,用于利用打乱后的注册地址接收微服务发送的注册请求信息,注册请求信息中包括待验证密钥;
第一添加单元303,若成功接收注册请求信息,则用于将注册请求信息添加到注册中心携带的路由表中;
第二添加单元304,若未成功接收注册请求信息,则用于将注册地址添加到微服务携带的预置不可用列表中,并在除本注册中心外的其他注册中心中接收注册请求信息,直到在其他注册中心中成功接收注册请求信息。
本发明实施例中,打乱单元301,用于获取注册中心的注册地址,并通过洗牌算法打乱注册地址,得到打乱后的注册地址;接收单元302,用于利用打乱后的注册地址接收微服务发送的注册请求信息,注册请求信息中包括待验证密钥;第一添加单元303,若成功接收注册请求信息,则用于将注册请求信息添加到注册中心携带的路由表中;第二添加单元304,若未成功接收注册请求信息,则用于将注册地址添加到微服务携带的预置不可用列表中,并在除本注册中心外的其他注册中心中接收注册请求信息,直到在其他注册中心中成功接收注册请求信息。
本发明实施例,利用洗牌算法对注册中心的注册地址进行打乱,令微服务按照注册地址排列的顺序选择相应的注册中心进行注册,并将注册中心的注册地址保存在本地数据库中,提高了注册中心的使用效率。
请参阅图4,本发明实施例中微服务注册装置另一个实施例包括:
打乱单元301,用于获取注册中心的注册地址,并通过洗牌算法打乱注册地址,得到打乱后的注册地址;
接收单元302,用于利用打乱后的注册地址接收微服务发送的注册请求信息,注册请求信息中包括待验证密钥;
第一添加单元303,若成功接收注册请求信息,则用于将注册请求信息添加到注册中心携带的路由表中;
第二添加单元304,若未成功接收注册请求信息,则用于将注册地址添加到微服务携带的预置不可用列表中,并在除本注册中心外的其他注册中心中接收注册请求信息,直到在其他注册中心中成功接收注册请求信息。
可选的,接收单元302包括:
获取模块3021,用于获取打乱后的注册地址中排列第一的注册地址,并在第一注册中心所携带的路由表中添加微服务的地址,排列第一的注册地址是对应第一注册中心的地址;
发送模块3022,用于在预置时长内,通过第一注册中心向微服务发送探测数据包;
接收模块3023,用于接收微服务依据探测数据包反馈的探测回应数据包,并在第一注册中心中获取微服务发送的注册请求信息,注册请求信息中包括待验证密钥。
可选的,获取模块3021具体用于:
获取打乱后的注册地址中排列第一的注册地址,排列第一的注册地址是对应第一注册中心的地址;
判断排列第一的注册地址是否在本地数据库中;
若排列第一的注册地址不在本地数据库中,则将第一注册中心所携带的路由表保存在本地数据库中,并在第一注册中心所携带的路由表中添加微服务的地址;
若排列第一的注册地址在本地数据库中,则在第一注册中心所携带的路由表中添加微服务的地址。
可选的,接收模块3023具体用于:
若微服务接收到探测数据包,则接收微服务反馈的探测回应数据包,并在第一注册中心中获取微服务发送的注册请求信息,注册请求信息中包括待验证密钥;
若微服务未接收到探测数据包,则在第一注册中心所携带的路由表中删除微服务的地址。
可选的,第一添加单元303具体用于:
在第一注册中心中,判断待验证密钥是否与预置密钥相同;
若待验证密钥与预置密钥相同,则成功接收注册请求信息,并将注册请求信息添加到第一注册中心所携带的路由表中。
可选的,第二添加单元304具体用于:
若待验证密钥与预置密钥不相同,则未成功接收注册请求信息,并将排列第一的注册地址添加到微服务所携带的预置不可用列表中;
获取打乱后的注册地址中排列第二的注册地址,排列第二的注册地址是对应第二注册中心的地址;
在第二注册中心中,接收微服务发送的注册请求信息,若第二注册中心成功接收注册请求信息,则将注册请求信息添加到第二注册中心所携带的路由表中;
若第二注册中心未成功接收注册请求信息,则将第二注册中心的注册地址添加到微服务所携带的预置不可用列表中,并在打乱后的注册地址中排列第三的注册地址中接收注册请求信息,直到在注册中心中成功接收注册请求信息。
可选的,打乱单元301具体用于:
按顺序获取n个注册中心的注册地址,n为自然数;
生成随机数x,获取位列第x的注册地址,并将位列第x的注册地址与位列第n的注册地址互换,作为排列倒数第一的注册地址,x的取值范围为[0,n-1];
生成随机数y,获取位列第y的注册地址,并将位列第y的注册地址与位列第n-1的注册地址互换,作为排列倒数第二的注册地址,y的取值范围为[0,n-2];
直到输出n个注册中心的注册地址,得到打乱后的注册地址。
本发明实施例中,打乱单元301,用于获取注册中心的注册地址,并通过洗牌算法打乱注册地址,得到打乱后的注册地址;接收单元302,用于利用打乱后的注册地址接收微服务发送的注册请求信息,注册请求信息中包括待验证密钥,具体的:获取模块3021,用于获取打乱后的注册地址中排列第一的注册地址,并在第一注册中心所携带的路由表中添加微服务的地址,排列第一的注册地址是对应第一注册中心的地址;发送模块3022,用于在预置时长内,通过第一注册中心向微服务发送探测数据包;接收模块3023,用于接收微服务依据探测数据包反馈的探测回应数据包,并在第一注册中心中获取微服务发送的注册请求信息,注册请求信息中包括待验证密钥;第一添加单元303,若成功接收注册请求信息,则用于将注册请求信息添加到注册中心携带的路由表中;第二添加单元304,若未成功接收注册请求信息,则用于将注册地址添加到微服务携带的预置不可用列表中,并在除本注册中心外的其他注册中心中接收注册请求信息,直到在其他注册中心中成功接收注册请求信息。
本发明实施例,利用洗牌算法对注册中心的注册地址进行打乱,令微服务按照注册地址排列的顺序选择相应的注册中心进行注册,并将注册中心的注册地址保存在本地数据库中,提高了注册中心的使用效率。
上面图3至图4从模块化功能实体的角度对本发明实施例中的微服务注册装置进行详细描述,下面从硬件处理的角度对本发明实施例中微服务注册设备进行详细描述。
下面结合图5对微服务注册设备的各个构成部件进行具体的介绍:
图5是本发明实施例提供的一种微服务注册设备的结构示意图,该微服务注册设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)501(例如,一个或一个以上处理器)和存储器509,一个或一个以上存储应用程序507或数据506的存储介质508(例如一个或一个以上海量存储设备)。其中,存储器509和存储介质508可以是短暂存储或持久存储。存储在存储介质508的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对签到管理设备中的一系列指令操作。更进一步地,处理器501可以设置为与存储介质508通信,在微服务注册设备500上执行存储介质508中的一系列指令操作。
微服务注册设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作***505,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5中示出的微服务注册设备结构并不构成对微服务注册设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对微服务注册设备的各个构成部件进行具体的介绍:
处理器501是微服务注册设备的控制中心,可以按照微服务注册方法进行处理。处理器501利用各种接口和线路连接整个微服务注册设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,利用洗牌算法对注册中心的注册地址进行打乱,并将注册中心的注册地址保存在本地数据库中,提高注册中心的使用效率。存储介质508和存储器509都是存储数据的载体,本发明实施例中,存储介质508可以是指储存容量较小,但速度快的内存储器,而存储器509可以是储存容量大,但储存速度慢的外存储器。
存储器509可用于存储软件程序以及模块,处理器501通过运行存储在存储器509的软件程序以及模块,从而执行微服务注册设备500的各种功能应用以及数据处理。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据微服务注册设备的使用所创建的数据等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在本发明实施例中提供的微服务注册程序和接收到的数据流存储在存储器中,当需要使用时,处理器501从存储器509中调用。
在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、双绞线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,光盘)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种微服务注册方法,其特征在于,包括:
获取注册中心的注册地址,并通过洗牌算法打乱所述注册地址,得到打乱后的注册地址;
利用所述打乱后的注册地址接收微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥;
若成功接收所述注册请求信息,则将所述注册请求信息添加到所述注册中心携带的路由表中;
若未成功接收所述注册请求信息,则将所述注册地址添加到所述微服务携带的预置不可用列表中,并在除本所述注册中心外的其他注册中心中接收所述注册请求信息,直到在所述其他注册中心中成功接收所述注册请求信息。
2.根据权利要求1所述的微服务注册方法,其特征在于,所述利用所述打乱后的注册地址接收微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥包括:
获取所述打乱后的注册地址中排列第一的注册地址,并在第一注册中心所携带的路由表中添加微服务的地址,所述排列第一的注册地址是对应所述第一注册中心的地址;
在预置时长内,通过所述第一注册中心向所述微服务发送探测数据包;
接收所述微服务依据所述探测数据包反馈的探测回应数据包,并在所述第一注册中心中获取微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥。
3.根据权利要求2所述的微服务注册方法,其特征在于,所述获取所述打乱后的注册地址中排列第一的注册地址,并在第一注册中心所携带的路由表中添加微服务的地址,所述排列第一的注册地址是对应所述第一注册中心的地址包括:
获取所述打乱后的注册地址中排列第一的注册地址,所述排列第一的注册地址是对应第一注册中心的地址;
判断所述排列第一的注册地址是否在本地数据库中;
若所述排列第一的注册地址不在所述本地数据库中,则将所述第一注册中心所携带的路由表保存在所述本地数据库中,并在所述第一注册中心所携带的路由表中添加微服务的地址;
若所述排列第一的注册地址在所述本地数据库中,则在所述第一注册中心所携带的路由表中添加微服务的地址。
4.根据权利要求2所述的微服务注册方法,其特征在于,所述接收所述微服务依据所述探测数据包反馈的探测回应数据包,并在所述第一注册中心中获取微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥包括:
若所述微服务接收到所述探测数据包,则接收所述微服务反馈的探测回应数据包,并在所述第一注册中心中获取微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥;
若所述微服务未接收到所述探测数据包,则在所述第一注册中心所携带的路由表中删除所述微服务的地址。
5.根据权利要求2所述的微服务注册方法,其特征在于,所述若成功接收所述注册请求信息,则将所述注册请求信息添加到所述注册中心所携带的路由表中包括:
在所述第一注册中心中,判断待验证密钥是否与预置密钥相同;
若所述待验证密钥与所述预置密钥相同,则成功接收所述注册请求信息,并将所述注册请求信息添加到所述第一注册中心所携带的路由表中。
6.根据权利要求5所述的微服务注册方法,其特征在于,所述若未成功接收所述注册请求信息,则将所述注册地址添加到所述微服务所携带的预置不可用列表中,并在除本所述注册中心外的其他注册中心中接收所述注册请求信息,直到在所述其他注册中心中成功接收所述注册请求信息包括:
若所述待验证密钥与所述预置密钥不相同,则未成功接收所述注册请求信息,并将排列第一的注册地址添加到所述微服务所携带的预置不可用列表中;
获取所述打乱后的注册地址中排列第二的注册地址,所述排列第二的注册地址是对应第二注册中心的地址;
在所述第二注册中心中,接收所述微服务发送的所述注册请求信息,若所述第二注册中心成功接收所述注册请求信息,则将所述注册请求信息添加到所述第二注册中心所携带的路由表中;
若所述第二注册中心未成功接收所述注册请求信息,则将所述第二注册中心的注册地址添加到所述微服务所携带的预置不可用列表中,并在所述打乱后的注册地址中排列第三的注册地址中接收所述注册请求信息,直到在注册中心中成功接收所述注册请求信息。
7.根据权利要求1-6中任一项所述的微服务注册方法,其特征在于,所述获取注册中心的注册地址,并通过洗牌算法打乱所述注册地址,得到打乱后的注册地址包括:
按顺序获取n个注册中心的注册地址,n为自然数;
生成随机数x,获取位列第x的注册地址,并将所述位列第x的注册地址与位列第n的注册地址互换,作为排列倒数第一的注册地址,x的取值范围为[0,n-1];
生成随机数y,获取位列第y的注册地址,并将所述位列第y的注册地址与位列第n-1的注册地址互换,作为排列倒数第二的注册地址,y的取值范围为[0,n-2];
直到输出n个所述注册中心的注册地址,得到打乱后的注册地址。
8.一种微服务注册装置,其特征在于,包括:
打乱单元,用于获取注册中心的注册地址,并通过洗牌算法打乱所述注册地址,得到打乱后的注册地址;
接收单元,用于利用所述打乱后的注册地址接收微服务发送的注册请求信息,所述注册请求信息中包括待验证密钥;
第一添加单元,若成功接收所述注册请求信息,则用于将所述注册请求信息添加到所述注册中心携带的路由表中;
第二添加单元,若未成功接收所述注册请求信息,则用于将所述注册地址添加到所述微服务携带的预置不可用列表中,并在除本所述注册中心外的其他注册中心中接收所述注册请求信息,直到在所述其他注册中心中成功接收所述注册请求信息。
9.一种微服务注册设备,其特征在于,包括:
存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于微服务注册设备执行如权利要求1-7中任意一项所述微服务注册方法。
10.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-7中任意一项所述的微服务注册方法的步骤。
CN201911365923.6A 2019-12-26 2019-12-26 微服务注册方法、装置、设备及存储介质 Active CN111200560B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911365923.6A CN111200560B (zh) 2019-12-26 2019-12-26 微服务注册方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911365923.6A CN111200560B (zh) 2019-12-26 2019-12-26 微服务注册方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111200560A true CN111200560A (zh) 2020-05-26
CN111200560B CN111200560B (zh) 2023-04-07

Family

ID=70746448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911365923.6A Active CN111200560B (zh) 2019-12-26 2019-12-26 微服务注册方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111200560B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115904361A (zh) * 2022-09-28 2023-04-04 建信金融科技有限责任公司 应用于微服务的数据处理方法、装置、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109412853A (zh) * 2018-10-31 2019-03-01 中国建设银行股份有限公司 分布式服务注册存储方法、***、装置和存储介质
US20190124504A1 (en) * 2016-06-30 2019-04-25 Intel Corporation Data management microservice in a microservice domain
CN110048879A (zh) * 2019-03-12 2019-07-23 平安医疗健康管理股份有限公司 微服务注册方法、装置、电子设备和计算机可读存储介质
CN110224855A (zh) * 2019-05-13 2019-09-10 平安科技(深圳)有限公司 微服务实例的注册方法、装置、计算机设备及存储介质
EP3543853A1 (en) * 2018-03-20 2019-09-25 Siemens Healthcare GmbH Providing microservice information
CN110365750A (zh) * 2019-06-25 2019-10-22 苏宁云计算有限公司 服务注册***及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190124504A1 (en) * 2016-06-30 2019-04-25 Intel Corporation Data management microservice in a microservice domain
EP3543853A1 (en) * 2018-03-20 2019-09-25 Siemens Healthcare GmbH Providing microservice information
CN109412853A (zh) * 2018-10-31 2019-03-01 中国建设银行股份有限公司 分布式服务注册存储方法、***、装置和存储介质
CN110048879A (zh) * 2019-03-12 2019-07-23 平安医疗健康管理股份有限公司 微服务注册方法、装置、电子设备和计算机可读存储介质
CN110224855A (zh) * 2019-05-13 2019-09-10 平安科技(深圳)有限公司 微服务实例的注册方法、装置、计算机设备及存储介质
CN110365750A (zh) * 2019-06-25 2019-10-22 苏宁云计算有限公司 服务注册***及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李春阳等: "基于微服务架构的统一应用开发平台", 《计算机***应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115904361A (zh) * 2022-09-28 2023-04-04 建信金融科技有限责任公司 应用于微服务的数据处理方法、装置、设备和介质
CN115904361B (zh) * 2022-09-28 2023-09-22 建信金融科技有限责任公司 应用于微服务的数据处理方法、装置、设备和介质

Also Published As

Publication number Publication date
CN111200560B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN107888562B (zh) 一种平行链接入互联链的数据验证和收发方法、节点及***
CN111209334B (zh) 基于区块链的电力终端数据安全管理方法
CN104520873A (zh) 用于保护和恢复虚拟机的***和方法
Hwang et al. Energy-memory-security tradeoffs in distributed sensor networks
CN109474606A (zh) 文件传输方法、装置、计算机设备及存储介质
CN110400164B (zh) 数据确定方法和装置、存储介质及电子装置
CN102404326B (zh) 一种验证报文安全性的方法、***以及装置
CN112804354B (zh) 跨链进行数据传输的方法、装置、计算机设备和存储介质
CN112087439A (zh) 区块链交易查询方法、***、计算机设备和存储介质
CN114938312B (zh) 一种数据传输方法和装置
CN110109769A (zh) 应用程序崩溃的安全监控方法、装置、设备及存储介质
EP3306855A1 (en) Authentication device, authentication system, authentication method, and program
CN111200560B (zh) 微服务注册方法、装置、设备及存储介质
CN109120641B (zh) 报表自动上传方法、装置、计算机设备及存储介质
CN112311624A (zh) 云主机的测试方法及装置、存储介质、电子设备
CN109450849B (zh) 一种基于区块链的云服务器组网方法
CN111447057A (zh) 一种基于门限秘密共享技术的安全存储方法及设备
JP2004145755A (ja) データ分割方法及びデータ復元方法並びにプログラム
CN116094698A (zh) 一种量子安全身份认证装置、方法、设备及存储介质
CN111262837B (zh) 一种数据加密方法、数据解密方法、***、设备和介质
CN113660645A (zh) 设备配置方法、装置、电子设备及存储介质
CN112653539A (zh) 一种待存储数据的存储方法、装置以及设备
CN113452513A (zh) 密钥分发方法、装置和***
CN111404901A (zh) 信息验证方法及装置
CN116074080B (zh) 卫星地面站管理***的数据处理方法、平台

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant