CN108632299A - 增强注册中心可用性的方法、装置、电子设备和存储介质 - Google Patents
增强注册中心可用性的方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN108632299A CN108632299A CN201710152476.0A CN201710152476A CN108632299A CN 108632299 A CN108632299 A CN 108632299A CN 201710152476 A CN201710152476 A CN 201710152476A CN 108632299 A CN108632299 A CN 108632299A
- Authority
- CN
- China
- Prior art keywords
- information
- service provider
- service
- center
- registry
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000002708 enhancing effect Effects 0.000 claims abstract description 41
- 230000008859 change Effects 0.000 claims description 13
- 230000009191 jumping Effects 0.000 claims description 2
- 238000004321 preservation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 9
- 230000009977 dual effect Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种增强注册中心可用性的方法、装置、电子设备和存储介质,能够分流注册中心的访问请求。该方法包括:服务消费者将注册中心中的服务提供者的信息保存到离线数据中心;所述服务消费者根据服务调用请求,连接所述离线数据中心,以获取服务提供者的信息列表,若获取到所述信息列表,则继续步骤a,否则进入步骤b;步骤a:通过轮询尝试,从所述信息列表中选择一个有效的服务提供者的信息,并连接所述服务提供者,若通过轮询尝试未选择到有效的服务提供者的信息,则进入步骤b;步骤b:连接注册中心,以获取服务提供者的信息列表,然后选择所述信息列表中的一个服务提供者的信息,并连接所述服务提供者。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种增强注册中心可用性的方法、装置、电子设备和存储介质。
背景技术
随着互联网行业的高速发展,在分布式微服务架构中,注册中心起至关重要的作用,它肩负着系统中服务注册和服务发现的职责,它的一致性和可用性直接影响着全系统。
在利用注册中心进行服务调用时,通常组织框架中会包含:服务提供者,注册中心,服务消费者(组织框架示意图可参见图1)。服务提供者作为服务的提供方将自身的服务信息发布到注册中心中;注册中心主要提供所有服务注册信息的中心存储(注册中心存储模型参见图2),且当服务提供者的信息发生变更时,注册中心负责将服务注册信息的更新通知实时的推送给注册了监听服务的服务消费者;服务消费者从注册中心获取服务提供者的信息,进行服务调用(服务调用的主要流程图可参见图3)。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:在极端的网络环境下,由于注册中心是个CP(CAP定理:C-数据一致性;A-服务可用性;P-服务对网络分区故障的容错性,这三个特性在任何分布式系统中不能同时满足,最多同时满足两个)的,它不能保证每次服务请求的可用性,这样就造成服务消费者失去了对服务提供者的访问能力,从而影响系统的可用性,给用户体验造成影响。
发明内容
有鉴于此,本发明实施例提供一种增强注册中心可用性的方法、装置、电子设备和存储介质,能够分流注册中心的访问请求,避免注册中心因访问压力过大造成服务器宕机。
为实现上述目的,根据本发明实施例的一个方面,提供了一种增强注册中心可用性的方法。
本发明实施例的一种增强注册中心可用性的方法包括:服务消费者将注册中心中的服务提供者的信息保存到离线数据中心;所述服务消费者根据服务调用请求,连接所述离线数据中心,以获取服务提供者的信息列表,若获取到所述信息列表,则继续步骤a,否则进入步骤b;步骤a:通过轮询尝试,从所述信息列表中选择一个有效的服务提供者的信息,并连接所述服务提供者,若通过轮询尝试未选择到有效的服务提供者的信息,则进入步骤b;步骤b:连接注册中心,以获取服务提供者的信息列表,然后选择所述信息列表中的一个服务提供者的信息,并连接所述服务提供者。
可选地,所述服务消费者将注册中心中的服务提供者的信息保存到离线数据中心包括:服务消费者到注册中心注册对服务的监听,当所述注册中心中服务提供者的信息发生变更时:所述服务消费者根据监听到的变更信息拉取所述注册中心中的服务提供者的信息,并将所述服务提供者的信息更新至离线中心;和/或所述服务消费者根据接收到的所述注册中心发送的变更通知,将注册中心中的服务提供者的信息更新至离线中心。
可选地,所述离线中心包括:Redis集群、本地内存、本地文件、本地K-V数据库中的一种或几种。
可选地,所述步骤a中,通过轮询尝试,从所述信息列表中选择一个有效的服务提供者的信息包括:根据负载均衡策略,从所述信息列表中选择一个服务提供者的信息,并尝试连接所述服务提供者,若连接成功,则表明选择到了一个有效的服务提供者的信息,若连接失败,则轮询尝试,直至选择到一个能够连接成功的服务提供者的信息。
可选地,所述步骤a中还包括:若连接失败,则删除所述信息列表中的该服务提供者的信息,并删除离线数据中心中该服务提供者的信息。
为实现上述目的,根据本发明实施例的另一方面,提供了一种增强注册中心可用性的装置。
本发明实施例的一种增强注册中心可用性的装置包括:保存模块,用于将注册中心中的服务提供者的信息保存到离线数据中心;离线数据中心连接模块,用于根据服务调用请求,连接所述离线数据中心,以获取服务提供者的信息列表,若获取到所述信息列表,则跳转至服务调用模块,否则跳转至注册中心连接模块;服务调用模块,用于通过轮询尝试,在所述信息列表中选择一个有效的服务提供者的信息,并连接所述服务提供者,若通过轮询尝试未选择到有效的服务提供者的信息,则跳转至注册中心连接模块;注册中心连接模块,用于连接注册中心,以获取服务提供者的信息列表,然后选择所述信息列表中的一个服务提供者的信息,并连接所述服务提供者。
可选地,所述保存模块还用于:到注册中心注册对服务的监听,当所述注册中心中服务提供者的信息发生变更时:根据监听到的变更信息拉取所述注册中心中的服务提供者的信息,并将所述服务提供者的信息更新至离线中心;和/或根据接收到的注册中心发送的变更通知,将注册中心中的服务提供者的信息更新至离线中心。
可选地,所述离线中心包括:Redis集群、本地内存、本地文件、本地K-V数据库中的一种或几种。
可选地,所述服务调用模块还用于:根据负载均衡策略,从所述信息列表中选择一个服务提供者的信息,并尝试连接所述服务提供者,若连接成功,则表明选择到了一个有效的服务提供者的信息,若连接失败,则轮询尝试,直至选择到一个能够连接成功的服务提供者的信息。
可选地,所述服务调用模块还用于:若连接失败,则删除所述信息列表中的该服务提供者的信息,并删除离线数据中心中该服务提供者的信息。
为实现上述目的,根据本发明实施例的再一方面,提供了一种增强注册中心可用性的电子设备。
本发明实施例的一种电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明实施例的增强注册中心可用性的方法。
为实现上述目的,根据本发明实施例的又一方面,提供了一种非暂态计算机可读存储介质。
本发明实施例的一种非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机本发明实施例的增强注册中心可用性的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用在服务消费者与注册中心之间增加离线数据中心,将注册中心上的服务提供者的信息保存至离线数据中心的技术手段,所以克服了服务消费者过度访问注册中心的技术问题,进而达到分流注册中心的访问请求,避免注册中心因访问压力过大造成服务器宕机,增强注册中心的可用性的技术效果;且通过采用离线数据中心和注册中心的服务发现的双重支撑,从而避免在注册中心因宕机或网络不稳定,造成不能为服务消费者提供发现服务的影响;通过在将服务提供者信息保存至离线数据中心时,采用服务消费者主动拉取和/或注册中心推送的两种方式,从而可以根据实际需求灵活地选择离线数据中心的更新策略;通过采用Redis集群、本地内存、本地文件、本地K-V数据库中的一种或几种作为离线数据中心,从而可以丰富离线数据中心的实现方式,使得离线数据不仅可以存储在服务消费者的本地,还可以存储在第三方的存储设备中;通过采用轮询尝试的方式,选择从离线数据中心获取的信息列表中的数据,从而可以保障在离线数据中心的数据不准确的情况下,增大离线数据中心服务发现的功能的可用性;通过采用负载均衡策略选择信息列表中的数据,从而可以保证各服务提供者负载均衡的提供服务。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是现有技术中通过注册中心进行服务调用的组织框架的示意图;
图2是注册中心存储服务提供者的信息的存储模型示意图;
图3是现有技术中通过注册中心进行服务调用的主要流程的示意图;
图4是根据本发明实施例的增强注册中心可用性的方法的架构模型示意图;
图5是根据本发明实施例的增强注册中心可用性的方法的主要步骤的示意图;
图6是根据本发明实施例的增强注册中心可用性的方法中服务调用的主要流程示意图;
图7是根据本发明实施例的增强注册中心可用性的方法中离线数据中心更新数据的一个实施例的示意图;
图8是根据本发明实施例的增强注册中心可用性的方法中离线数据中心更新数据的另一实施例的示意图;
图9是根据本发明实施例的增强注册中心可用性的装置的主要模块的示意图;
图10是实现本发明实施例的增强注册中心可用性的方法的电子设备的硬件结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图4是根据本发明实施例的增强注册中心可用性的方法的架构模型示意图。如图4所示,本发明实施例的增强注册中心可用性的方法的架构模型中共有四种角色:服务提供者,注册中心,服务消费者,离线数据中心。
其中,服务提供者作为服务的提供方将自身的服务信息发布到注册中心中,服务信息包含:1.服务器的IP地址与端口、2.连接服务安全认证信息、3.集群中所占的权重信息;注册中心(本发明实施例中注册中心以ZooKeeper为例进行说明。使用ZooKeeper中间件搭建的注册中心,在一致性和可用性方面有着良好的表现,通过ZooKeeper提供的API实现服务编排,服务治理,服务监控等高级特性,能够很好的满足RPC框架的基本需求,不但有相当大的社区来支持它的发展,而且在生产环境得到了广泛的使用,逐渐被许多互联网公司采用)主要提供所有服务注册信息的中心存储,并在服务提供者信息有变更时,与服务消费者交互,以便服务消费者及时更新离线数据中心中存储的服务提供者的信息;服务消费者在接收到用户发起的服务调用请求后,通过从离线数据中心或者注册中心获取服务提供者信息,从而进行调用远程服务。
另外,在上述框架模型中,离线数据中心用于存储注册中心上保存的服务消费者所需的服务提供者信息数据副本。服务消费者在接到服务调用请求后,服务发现的功能首先由离线数据中心提供,从而降低服务消费者对注册中心的依赖;只有当离线数据中心不存在有效的服务提供者信息时,再由注册中心提供服务发现的功能,由此,形成离线数据中心与注册中心的双支撑,从而增强注册中心的可用性。
图5是根据本发明实施例的增强注册中心可用性的方法的主要步骤的示意图。
如图5所示,本发明实施例的一种增强注册中心可用性的方法包括如下步骤:
步骤S51:服务消费者将注册中心中的服务提供者的信息保存到离线数据中心。本步骤的目的在于将注册中心保存的关于服务提供者信息的数据也存储于离线数据中心中,以便后续可以为服务消费者提供服务发现服务。
在步骤S51保存好数据之后,从步骤S52进行处理。
步骤S52:服务消费者根据服务调用请求,连接离线数据中心,以获取服务提供者的信息列表,若获取到信息列表,则继续步骤a,否则进入步骤b。
步骤a:通过轮询尝试,从信息列表中选择一个有效的服务提供者的信息,并连接该服务提供者,若通过轮询尝试未选择到有效的服务提供者的信息,则进入步骤b。
步骤b:连接注册中心,以获取服务提供者的信息列表,然后选择信息列表中的一个服务提供者的信息,并连接该服务提供者。
上述描述实际是在说明服务消费者获取服务提供者信息的逻辑。即先从离线数据中心请求服务提供者的信息列表,若未获取或者获取倒的信息列表中的信息非有效信息,则转而再从注册中心获取服务提供者的信息数据。但从离线数据中心获取数据是前置程序。这样除了可以在利用离线数据中心和注册中心提供服务发现的双重支撑指外,还避免注册中心承担过多的访问压力。
通过分流注册中心的访问请求,避免注册中心因访问压力过大造成服务器宕机;更进一步地,避免了由于注册中心宕机或网络不稳定,造成不能为服务消费者提供发现服务的影响。
其中,前述服务消费者将注册中心中的服务提供者的信息保存到离线数据中心还可以包括服务消费者到注册中心注册对服务的监听,且当注册中心中服务提供者的信息发生变更时:服务消费者根据监听到的变更信息拉取注册中心中的服务提供者的信息,并将服务提供者的信息更新至离线中心;和/或服务消费者根据接收到的注册中心发送的变更通知,将注册中心中的服务提供者的信息更新至离线中心。
本发明实施例中,离线中心可以包括:Redis集群、本地内存、本地文件、本地K-V数据库中的一种或几种,从而可以丰富离线数据中心的实现方式,使得离线数据不仅可以存储在服务消费者的本地,还可以存储在第三方的存储设备中
需要说明的是,在步骤a中,通过轮询尝试,从所述信息列表中选择一个有效的服务提供者的信息具体可以包括:根据负载均衡策略,从所述信息列表中选择一个服务提供者的信息,并尝试连接所述服务提供者,若连接成功,则表明选择到了一个有效的服务提供者的信息,若连接失败,则轮询尝试,直至选择到一个能够连接成功的服务提供者的信息。
进一步地,步骤a中还可以包括:若连接失败,则删除所述信息列表中的该服务提供者的信息,并删除离线数据中心中该服务提供者的信息,从而提高离线数据中心存储数据的可靠性。
图6是根据本发明实施例的增强注册中心可用性的方法中服务调用的主要流程示意图。该流程具体描述了服务消费者在接收到用户发起的服务请求后,调用远程服务的过程。具体描述如下:
步骤1:服务消费者接收到用户请求;
步骤2:连接离线数据中心,以获取所有目标服务提供者的信息列表;
步骤3:如果存在服务提供者信息进入步骤4,如果不存在进入步骤8;
步骤4:因为离线数据中心存储的数据并非完全可靠,如有必要,可能需要轮询尝试。根据负载均衡策略(例如可以是随机负载或者轮询负载)选择信息列表中的一个服务提供者的信息,尝试连接该服务提供者;
步骤5:判断服务消费者是否成功连接该服务提供者,如果连接成功进入步骤10,连接失败进入步骤6;
步骤6:删除信息列表中当前连接失败的服务提供者,并在离线数据中心剔除与目标服务连接失败的服务提供者;
步骤7:判断信息列表中是否还有未尝试的服务提供者信息,如果有进入步骤4,如果没有进入步骤8;
步骤8:连接注册中心,获取所有目标服务提供者的信息列表;
步骤9:根据负载均衡策略(例如可以是随机负载或者轮询负载)选择其中一个服务提供者的信息,尝试连接该服务提供者;
步骤10:服务提供者对该服务消费者进行安全认证;
步骤11:如果安全认证通过进入步骤12,如果安全认证失败进入步骤13;
步骤12:服务提供者执行请求;
步骤13:返回执行结果,请求结束。
图7是根据本发明实施例的增强注册中心可用性的方法中离线数据中心更新数据的一个实施例的示意图;图8是根据本发明实施例的增强注册中心可用性的方法中离线数据中心更新数据的另一实施例的示意图。
从图7、图8可以看出,本发明实施例中,离线数据中心的数据更新策略主要有以下两种:
1.服务消费者启动拉取
当服务消费者在启动时首先到注册中心注册对目标服务的监听,以便在服务信息发生变更时能及时的通知服务消费者,同时在注册中心将所需要的服务提供者的数据拉取到本地存储和/或者第三方存储的离线数据中心。本发明实施例的技术方案中,可以选择存储在本地的离线数据中心。上述流程可参见图7。
2.服务变更通知
当注册中心监听到服务提供者信息发生变化,会通知注册了对该服务监听的服务消费者,更新离线数据中心目标服务的服务提供者信息,并重新注册对该服务的监听(更新之后,每次都需要重新注册监听。以ZooKeeper注册中心为例,其watcher机制是在通知一次之后就会失效,所以通知后需要服务消费者重新注册监听)。上述流程可参见图8。
根据本发明实施例的增强注册中心可用性的方法可以看出,因为采用在服务消费者与注册中心之间增加离线数据中心,将注册中心上的服务提供者的信息保存至离线数据中心的技术手段,所以克服了服务消费者过度访问注册中心的技术问题,进而达到分流注册中心的访问请求,避免注册中心因访问压力过大造成服务器宕机,增强注册中心的可用性的技术效果;且通过采用离线数据中心和注册中心的服务发现的双重支撑,从而避免在注册中心因宕机或网络不稳定,造成不能为服务消费者提供发现服务的影响;通过在将服务提供者信息保存至离线数据中心时,采用服务消费者主动拉取和/或注册中心推送的两种方式,从而可以根据实际需求灵活地选择离线数据中心的更新策略;通过采用Redis集群、本地内存、本地文件、本地K-V数据库中的一种或几种作为离线数据中心,从而可以丰富离线数据中心的实现方式,使得离线数据不仅可以存储在服务消费者的本地,还可以存储在第三方的存储设备中;通过采用轮询尝试的方式,选择从离线数据中心获取的信息列表中的数据,从而可以保障在离线数据中心的数据不准确的情况下,增大离线数据中心服务发现的功能的可用性;通过采用负载均衡策略选择信息列表中的数据,从而可以保证各服务提供者负载均衡的提供服务。
图9是根据本发明实施例的增强注册中心可用性的装置的主要模块的示意图。
如图9所示,本发明实施例的一种增强注册中心可用性的装置90包括保存模块901、离线数据中心连接模块902、服务调用模块903以及注册中心连接模块904,其中:
保存模块901可用于将注册中心中的服务提供者的信息保存到离线数据中心;离线数据中心连接模块902可用于根据服务调用请求,连接所述离线数据中心,以获取服务提供者的信息列表,若获取到所述信息列表,则跳转至服务调用模块,否则跳转至注册中心连接模块;服务调用模块903可用于通过轮询尝试,在所述信息列表中选择一个有效的服务提供者的信息,并连接所述服务提供者,若通过轮询尝试未选择到有效的服务提供者的信息,则跳转至注册中心连接模块;注册中心连接模块904可用于连接注册中心,以获取服务提供者的信息列表,然后选择所述信息列表中的一个服务提供者的信息,并连接所述服务提供者。
保存模块901还可用于:到注册中心注册对服务的监听,当所述注册中心中服务提供者的信息发生变更时:根据监听到的变更信息拉取所述注册中心中的服务提供者的信息,并将所述服务提供者的信息更新至离线中心;和/或根据接收到的注册中心发送的变更通知,将注册中心中的服务提供者的信息更新至离线中心。
本发明实施例中,离线中心可以包括Redis集群、本地内存、本地文件、本地K-V数据库中的一种或几种。
另外,服务调用模块903还可用于:根据负载均衡策略,从所述信息列表中选择一个服务提供者的信息,并尝试连接所述服务提供者,若连接成功,则表明选择到了一个有效的服务提供者的信息,若连接失败,则轮询尝试,直至选择到一个能够连接成功的服务提供者的信息。
此外,服务调用模块903还可用于:若连接失败,则删除所述信息列表中的该服务提供者的信息,并删除离线数据中心中该服务提供者的信息。
从以上描述可以看出,因为采用在服务消费者与注册中心之间增加离线数据中心,将注册中心上的服务提供者的信息保存至离线数据中心的技术手段,所以克服了服务消费者过度访问注册中心的技术问题,进而达到分流注册中心的访问请求,避免注册中心因访问压力过大造成服务器宕机,增强注册中心的可用性的技术效果;且通过采用离线数据中心和注册中心的服务发现的双重支撑,从而避免在注册中心因宕机或网络不稳定,造成不能为服务消费者提供发现服务的影响;通过在将服务提供者信息保存至离线数据中心时,采用服务消费者主动拉取和/或注册中心推送的两种方式,从而可以根据实际需求灵活地选择离线数据中心的更新策略;通过采用Redis集群、本地内存、本地文件、本地K-V数据库中的一种或几种作为离线数据中心,从而可以丰富离线数据中心的实现方式,使得离线数据不仅可以存储在服务消费者的本地,还可以存储在第三方的存储设备中;通过采用轮询尝试的方式,选择从离线数据中心获取的信息列表中的数据,从而可以保障在离线数据中心的数据不准确的情况下,增大离线数据中心服务发现的功能的可用性;通过采用负载均衡策略选择信息列表中的数据,从而可以保证各服务提供者负载均衡的提供服务。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
本发明的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明所提供的增强注册中心可用性的方法。
本发明的非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的增强注册中心可用性的方法。
如图10所示,是根据本发明实施例的增强注册中心可用性的方法的电子设备的硬件结构示意图。如图10,该电子设备100包括:一个或多个处理器101以及存储器102,图10中以一个处理器101为例。其中,存储器102即为本发明所提供的非暂态计算机可读存储介质。
增强注册中心可用性的方法的电子设备还可以包括:输入装置103和输出装置104。
处理器101、存储器102、输入装置103和输出装置104可以通过总线或者其他方式连接,图10中以通过总线连接为例。
存储器102作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的增强注册中心可用性的方法对应的程序指令/模块(例如,附图9所示的保存模块901、离线数据中心连接模块902、服务调用模块903以及注册中心连接模块904)。处理器101通过运行存储在存储器102中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的增强注册中心可用性的方法。
存储器102可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据增强注册中心可用性的装置的使用所创建的数据等。此外,存储器102可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器102可选包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至增强注册中心可用性的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置103可接收输入的数字或字符信息,以及产生与增强注册中心可用性的装置的用户设置以及功能控制有关的键信号输入。输出装置104可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器102中,当被所述一个或者多个处理器101执行时,执行上述任意方法实施例中的增强注册中心可用性的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
根据本发明实施例的技术方案可以看出,因为采用在服务消费者与注册中心之间增加离线数据中心,将注册中心上的服务提供者的信息保存至离线数据中心的技术手段,所以克服了服务消费者过度访问注册中心的技术问题,进而达到分流注册中心的访问请求,避免注册中心因访问压力过大造成服务器宕机,增强注册中心的可用性的技术效果;且通过采用离线数据中心和注册中心的服务发现的双重支撑,从而避免在注册中心因宕机或网络不稳定,造成不能为服务消费者提供发现服务的影响;通过在将服务提供者信息保存至离线数据中心时,采用服务消费者主动拉取和/或注册中心推送的两种方式,从而可以根据实际需求灵活地选择离线数据中心的更新策略;通过采用Redis集群、本地内存、本地文件、本地K-V数据库中的一种或几种作为离线数据中心,从而可以丰富离线数据中心的实现方式,使得离线数据不仅可以存储在服务消费者的本地,还可以存储在第三方的存储设备中;通过采用轮询尝试的方式,选择从离线数据中心获取的信息列表中的数据,从而可以保障在离线数据中心的数据不准确的情况下,增大离线数据中心服务发现的功能的可用性;通过采用负载均衡策略选择信息列表中的数据,从而可以保证各服务提供者负载均衡的提供服务。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种增强注册中心可用性的方法,其特征在于,包括:
服务消费者将注册中心中的服务提供者的信息保存到离线数据中心;
所述服务消费者根据服务调用请求,连接所述离线数据中心,以获取服务提供者的信息列表,若获取到所述信息列表,则继续步骤a,否则进入步骤b;
步骤a:通过轮询尝试,从所述信息列表中选择一个有效的服务提供者的信息,并连接所述服务提供者,若通过轮询尝试未选择到有效的服务提供者的信息,则进入步骤b;
步骤b:连接注册中心,以获取服务提供者的信息列表,然后选择所述信息列表中的一个服务提供者的信息,并连接所述服务提供者。
2.根据权利要求1所述的方法,其特征在于,所述服务消费者将注册中心中的服务提供者的信息保存到离线数据中心包括:
服务消费者到注册中心注册对服务的监听,当所述注册中心中服务提供者的信息发生变更时:
所述服务消费者根据监听到的变更信息拉取所述注册中心中的服务提供者的信息,并将所述服务提供者的信息更新至离线中心;和/或
所述服务消费者根据接收到的所述注册中心发送的变更通知,将注册中心中的服务提供者的信息更新至离线中心。
3.根据权利要求1所述的方法,其特征在于,所述离线中心包括:Redis集群、本地内存、本地文件、本地K-V数据库中的一种或几种。
4.根据权利要求1所述的方法,其特征在于,所述步骤a中,通过轮询尝试,从所述信息列表中选择一个有效的服务提供者的信息包括:
根据负载均衡策略,从所述信息列表中选择一个服务提供者的信息,并尝试连接所述服务提供者,若连接成功,则表明选择到了一个有效的服务提供者的信息,若连接失败,则轮询尝试,直至选择到一个能够连接成功的服务提供者的信息。
5.根据权利要求4所述的方法,其特征在于,所述步骤a中还包括:若连接失败,则删除所述信息列表中的该服务提供者的信息,并删除离线数据中心中该服务提供者的信息。
6.一种增强注册中心可用性的装置,其特征在于,包括:
保存模块,用于将注册中心中的服务提供者的信息保存到离线数据中心;
离线数据中心连接模块,用于根据服务调用请求,连接所述离线数据中心,以获取服务提供者的信息列表,若获取到所述信息列表,则跳转至服务调用模块,否则跳转至注册中心连接模块;
服务调用模块,用于通过轮询尝试,在所述信息列表中选择一个有效的服务提供者的信息,并连接所述服务提供者,若通过轮询尝试未选择到有效的服务提供者的信息,则跳转至注册中心连接模块;
注册中心连接模块,用于连接注册中心,以获取服务提供者的信息列表,然后选择所述信息列表中的一个服务提供者的信息,并连接所述服务提供者。
7.根据权利要求6所述的装置,其特征在于,所述保存模块还用于:
到注册中心注册对服务的监听,当所述注册中心中服务提供者的信息发生变更时:
根据监听到的变更信息拉取所述注册中心中的服务提供者的信息,并将所述服务提供者的信息更新至离线中心;和/或
根据接收到的注册中心发送的变更通知,将注册中心中的服务提供者的信息更新至离线中心。
8.根据权利要求6所述的装置,其特征在于,所述离线中心包括:Redis集群、本地内存、本地文件、本地K-V数据库中的一种或几种。
9.根据权利要求6所述的装置,其特征在于,所述服务调用模块还用于:
根据负载均衡策略,从所述信息列表中选择一个服务提供者的信息,并尝试连接所述服务提供者,若连接成功,则表明选择到了一个有效的服务提供者的信息,若连接失败,则轮询尝试,直至选择到一个能够连接成功的服务提供者的信息。
10.根据权利要求9所述的装置,其特征在于,所述服务调用模块还用于:若连接失败,则删除所述信息列表中的该服务提供者的信息,并删除离线数据中心中该服务提供者的信息。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710152476.0A CN108632299A (zh) | 2017-03-15 | 2017-03-15 | 增强注册中心可用性的方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710152476.0A CN108632299A (zh) | 2017-03-15 | 2017-03-15 | 增强注册中心可用性的方法、装置、电子设备和存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN108632299A true CN108632299A (zh) | 2018-10-09 |
Family
ID=63686279
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201710152476.0A Pending CN108632299A (zh) | 2017-03-15 | 2017-03-15 | 增强注册中心可用性的方法、装置、电子设备和存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN108632299A (zh) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109413209A (zh) * | 2018-12-17 | 2019-03-01 | 上海金融期货信息技术有限公司 | 一种基于双队列及注册中心的动态负载均衡方法和系统 |
| CN109639818A (zh) * | 2018-12-27 | 2019-04-16 | 北京城市网邻信息技术有限公司 | 一种云环境下的服务发现方法、装置、服务器和存储介质 |
| CN109743367A (zh) * | 2018-12-24 | 2019-05-10 | 青岛海信智能商用系统股份有限公司 | 服务处理方法、装置、电子设备及可读存储介质 |
| CN110275724A (zh) * | 2019-06-26 | 2019-09-24 | 广州小鹏汽车科技有限公司 | 一种服务实例更新方法和装置 |
| CN110377431A (zh) * | 2019-07-29 | 2019-10-25 | 中国工商银行股份有限公司 | 多注册中心场景下服务调用方法及装置 |
| CN110417904A (zh) * | 2019-08-02 | 2019-11-05 | 中国工商银行股份有限公司 | 一种推送信息处理方法、装置及系统 |
| CN110417646A (zh) * | 2019-08-01 | 2019-11-05 | 北京吉旗咨询服务有限公司 | 基于rpc应用程序推送订阅消息的方法以及装置 |
| CN111182062A (zh) * | 2019-12-30 | 2020-05-19 | 苏宁云计算有限公司 | 服务多活调用方法、系统及电子设备 |
| CN111930389A (zh) * | 2020-08-05 | 2020-11-13 | 深圳市分期乐网络科技有限公司 | 一种业务平台的存储部署方法、装置、设备和存储介质 |
| CN113765870A (zh) * | 2020-09-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种远程服务调用方法、装置和系统 |
| CN114363233A (zh) * | 2020-10-12 | 2022-04-15 | 网联清算有限公司 | 一种分组路由方法、装置、电子设备及存储介质 |
| CN116582594A (zh) * | 2023-06-09 | 2023-08-11 | 中国建设银行股份有限公司 | 访问服务的方法、装置、电子设备和计算机可读介质 |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030195804A1 (en) * | 2000-10-12 | 2003-10-16 | Maggio Frank S. | Method and system for verifying exposure to message content |
| WO2004090696A1 (en) * | 2003-03-04 | 2004-10-21 | Mäkipää Innovation Oy | Method and system for carrying out electronic transactions |
| CN101047512A (zh) * | 2006-03-31 | 2007-10-03 | 国际商业机器公司 | 服务注册器以及相关系统和方法 |
| US20080046335A1 (en) * | 2006-08-18 | 2008-02-21 | International Business Machines Corporation | Method and apparatus for ws-policy based web service controlling |
| US20110066514A1 (en) * | 2009-09-11 | 2011-03-17 | Nintedo of America Inc. | System and/or method for handling returns involving products tied to post-paid subscriptions/services |
| CN102427451A (zh) * | 2011-12-06 | 2012-04-25 | 宁波电业局 | 一种获取服务应用的方法与系统 |
| CN105141452A (zh) * | 2015-08-07 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种基于cxf的高性能服务系统及方法 |
| CN105516308A (zh) * | 2015-12-09 | 2016-04-20 | 国网福建省电力有限公司 | 基于服务管理中心的广域面向服务的数据交互系统及方法 |
| CN105515759A (zh) * | 2015-11-27 | 2016-04-20 | 国网信息通信产业集团有限公司 | 一种微服务注册方法及系统 |
| CN105933444A (zh) * | 2016-06-27 | 2016-09-07 | 焦点科技股份有限公司 | 基于注册中心和缓存机制协同的服务发现方法 |
-
2017
- 2017-03-15 CN CN201710152476.0A patent/CN108632299A/zh active Pending
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030195804A1 (en) * | 2000-10-12 | 2003-10-16 | Maggio Frank S. | Method and system for verifying exposure to message content |
| WO2004090696A1 (en) * | 2003-03-04 | 2004-10-21 | Mäkipää Innovation Oy | Method and system for carrying out electronic transactions |
| CN101047512A (zh) * | 2006-03-31 | 2007-10-03 | 国际商业机器公司 | 服务注册器以及相关系统和方法 |
| US20080046335A1 (en) * | 2006-08-18 | 2008-02-21 | International Business Machines Corporation | Method and apparatus for ws-policy based web service controlling |
| US20110066514A1 (en) * | 2009-09-11 | 2011-03-17 | Nintedo of America Inc. | System and/or method for handling returns involving products tied to post-paid subscriptions/services |
| CN102427451A (zh) * | 2011-12-06 | 2012-04-25 | 宁波电业局 | 一种获取服务应用的方法与系统 |
| CN105141452A (zh) * | 2015-08-07 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种基于cxf的高性能服务系统及方法 |
| CN105515759A (zh) * | 2015-11-27 | 2016-04-20 | 国网信息通信产业集团有限公司 | 一种微服务注册方法及系统 |
| CN105516308A (zh) * | 2015-12-09 | 2016-04-20 | 国网福建省电力有限公司 | 基于服务管理中心的广域面向服务的数据交互系统及方法 |
| CN105933444A (zh) * | 2016-06-27 | 2016-09-07 | 焦点科技股份有限公司 | 基于注册中心和缓存机制协同的服务发现方法 |
Cited By (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109413209A (zh) * | 2018-12-17 | 2019-03-01 | 上海金融期货信息技术有限公司 | 一种基于双队列及注册中心的动态负载均衡方法和系统 |
| CN109413209B (zh) * | 2018-12-17 | 2021-07-09 | 上海金融期货信息技术有限公司 | 一种基于双队列及注册中心的动态负载均衡方法和系统 |
| CN109743367A (zh) * | 2018-12-24 | 2019-05-10 | 青岛海信智能商用系统股份有限公司 | 服务处理方法、装置、电子设备及可读存储介质 |
| CN109743367B (zh) * | 2018-12-24 | 2021-08-17 | 青岛海信智能商用系统股份有限公司 | 服务处理方法、装置、电子设备及可读存储介质 |
| CN109639818B (zh) * | 2018-12-27 | 2020-09-08 | 北京城市网邻信息技术有限公司 | 一种云环境下的服务发现方法、装置、服务器和存储介质 |
| CN109639818A (zh) * | 2018-12-27 | 2019-04-16 | 北京城市网邻信息技术有限公司 | 一种云环境下的服务发现方法、装置、服务器和存储介质 |
| CN110275724A (zh) * | 2019-06-26 | 2019-09-24 | 广州小鹏汽车科技有限公司 | 一种服务实例更新方法和装置 |
| CN110377431A (zh) * | 2019-07-29 | 2019-10-25 | 中国工商银行股份有限公司 | 多注册中心场景下服务调用方法及装置 |
| CN110417646A (zh) * | 2019-08-01 | 2019-11-05 | 北京吉旗咨询服务有限公司 | 基于rpc应用程序推送订阅消息的方法以及装置 |
| CN110417904A (zh) * | 2019-08-02 | 2019-11-05 | 中国工商银行股份有限公司 | 一种推送信息处理方法、装置及系统 |
| CN110417904B (zh) * | 2019-08-02 | 2022-03-25 | 中国工商银行股份有限公司 | 一种推送信息处理方法、装置及系统 |
| CN111182062A (zh) * | 2019-12-30 | 2020-05-19 | 苏宁云计算有限公司 | 服务多活调用方法、系统及电子设备 |
| CN111930389A (zh) * | 2020-08-05 | 2020-11-13 | 深圳市分期乐网络科技有限公司 | 一种业务平台的存储部署方法、装置、设备和存储介质 |
| CN113765870A (zh) * | 2020-09-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种远程服务调用方法、装置和系统 |
| CN113765870B (zh) * | 2020-09-01 | 2023-09-05 | 北京沃东天骏信息技术有限公司 | 一种远程服务调用方法、装置和系统 |
| CN114363233A (zh) * | 2020-10-12 | 2022-04-15 | 网联清算有限公司 | 一种分组路由方法、装置、电子设备及存储介质 |
| CN114363233B (zh) * | 2020-10-12 | 2023-12-22 | 网联清算有限公司 | 一种分组路由方法、装置、电子设备及存储介质 |
| CN116582594A (zh) * | 2023-06-09 | 2023-08-11 | 中国建设银行股份有限公司 | 访问服务的方法、装置、电子设备和计算机可读介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108632299A (zh) | 增强注册中心可用性的方法、装置、电子设备和存储介质 | |
| US9553831B2 (en) | Adaptive publish/subscribe system | |
| CN110377431B (zh) | 多注册中心场景下服务调用方法及装置 | |
| US20160021197A1 (en) | Self-Extending Cloud | |
| WO2020093500A1 (zh) | 智能调度方法、终端设备、边缘节点集群与智能调度系统 | |
| US12200082B2 (en) | Microservice call method and apparatus, device, and medium | |
| WO2016184175A1 (zh) | 数据库处理方法及装置 | |
| CN104408071A (zh) | 一种基于集群管理器的分布式数据库高可用方法及系统 | |
| US20170163478A1 (en) | Method,electronic device and system for updating client configuration in key-value pair database | |
| US20170171304A1 (en) | Service updating method and system for server cluster | |
| CN110990047A (zh) | 用于多个微服务架构的融合方法及装置 | |
| US11128697B2 (en) | Update package distribution using load balanced content delivery servers | |
| US20180302500A1 (en) | Environment isolation method and device | |
| US20220283822A1 (en) | State machine processing method, state processing method, electronic device, and storage medium | |
| US20180357061A1 (en) | Systems and methods for preventing service disruption during software updates | |
| US10521114B2 (en) | Adding or removing a storage provider in unified storage manager | |
| CN110933188A (zh) | 远程服务的调用方法、系统、服务器及存储介质 | |
| US9167052B2 (en) | Apparatus, systems, and methods for providing policy in network-based applications | |
| CN110611690B (zh) | 主核心设备重选的方法、远程设备和计算机可读介质 | |
| CN107566475B (zh) | 一种会话故障转移方法及装置 | |
| CN113326100A (zh) | 一种集群管理方法、装置、设备及计算机存储介质 | |
| CN116800825A (zh) | 一种基于微服务拆分的调用方法、装置、设备及介质 | |
| CN115834668B (zh) | 集群节点控制方法、装置、设备、存储介质和程序产品 | |
| CN110851166A (zh) | 用户无感知的应用程序更新方法、装置及计算机设备 | |
| CN118694651A (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 | ||
| RJ01 | Rejection of invention patent application after publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181009 |