CN106657423A - 一种服务器服务发现的方法和*** - Google Patents
一种服务器服务发现的方法和*** Download PDFInfo
- Publication number
- CN106657423A CN106657423A CN201510732252.8A CN201510732252A CN106657423A CN 106657423 A CN106657423 A CN 106657423A CN 201510732252 A CN201510732252 A CN 201510732252A CN 106657423 A CN106657423 A CN 106657423A
- Authority
- CN
- China
- Prior art keywords
- server
- service
- etcd
- servers
- background server
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种服务器服务发现的方法和***,该方法包括:后台服务器向ETCD服务器注册;ETCD服务器接收后台服务器的注册信息,并形成拓扑结构图;前台服务器从ETCD服务器调用服务;ETCD服务器搜索所述服务所对应的后台服务器;ETCD服务器获取服务的路径信息;前台服务器从ETCD服务器获取服务。本发明技术方案能够对分布式***中的服务进行有效的管理,迅速实现服务发现功能,并且快速实现服务的调用,适合分布式***的架构,对于提高分布式***和服务的运行效率、保持分布式服务器***的稳定运行、提供了可靠的技术保障。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种服务器服务发现的方法和***。
背景技术
在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享配置信息快速被集群中的所有机器发现,更为重要的是,如何构建这样一套高可用、安全、易于部署以及响应快速的服务集群,已经成为了迫切需要解决的问题。ETCD为解决这类问题提供了有效的方案。ETCD应用在分布式环境下的key/value存储服务,是一个高可用的键值存储***,主要用于共享配置和服务发现。利用ETCD的特性,应用程序可以在集群中共享信息、配置或服务发现,ETCD会在集群的各个节点中复制这些数据并保证这些数据始终正确。Google的容器集群管理***Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛使用了ETCD。
ETCD具有如下的优点:
简单:基于HTTP+JSON的API方便用户使用;
安全:可选SSL客户认证机制;
快速:每个实例每秒支持一千次写操作;
可信:使用Raft算法充分实现了分布式***架构的一致性。
在分布式***中,服务和配置分布在不同的服务器上,以网络上分散分布的操作指令及受其影响的数据库来提供数据的操作。分布式有利于任务在整个服务器***上进行分配与优化,克服了传统集中式***会导致中心主机资源紧张与响应瓶颈的缺陷,解决了网络中存在的数据异构、数据共享、运算共享等问题;分布式集群服务器***具有经济成本低的优势,一般是由成本低廉的PC服务器组成的集群,在性能方面能够达到或超越大型机的处理性能,在成本上远低于大型机,有利于降低网络服务器的经济成本;而且,分布式***有良好的可扩展性,可以通过增加服务器数量来增强分布式***整体的处理能力,以应对企业的业务增长带来的计算需求。
但是,分布式集群服务器***对服务发现提出了更高的要求。在一个分布式集群***中,不同的服务分布在不同的服务器上,需求端通过统一的接入接口接入分布式***,来调取不同的服务;分布式***要能够迅速对服务进行寻址,应该能够对任何一个应用的实例能够以编程的方式获取当前环境的细节,能够为新的实例嵌入到现有的应用环境而不需要人工干预。这就需要简化服务发现的步骤,快速实现服务发现,以提高分布式集群***的效率和运行稳定性。
发明内容
本发明提供一种服务器服务发现的方法和***,有效对分布式***中的服务进行管理,迅速实现服务发现功能,并且快速实现服务的调用,适合分布式***的架构,对于提高分布式***和服务的运行效率、保持分布式服务器***的稳定运行、提供了可靠的技术保障。
本发明的技术方案提供了一种服务器服务发现的方法,包括以下步骤:
后台服务器向ETCD服务器注册;
ETCD服务器接收后台服务器的注册信息,并形成拓扑结构图;
前台服务器从ETCD服务器调用服务;
ETCD服务器搜索所述服务所对应的后台服务器;
ETCD服务器获取服务的路径信息;
前台服务器从ETCD服务器获取服务。
进一步的,上一级服务器为母节点,下一级服务器为子节点;
所述注册信息包括但不限于本服务器的编号,母节点服务器,子节点服务器,本服务器所共享的服务。
进一步的,ETCD服务器及后台服务器采用树形结构;
子节点服务器对应一台母节点服务器,母节点服务器对应不少于一台子节点服务器;
ETCD服务器无母节点。
进一步的,所述拓扑结构图,包括每台服务器的母节点和子节点的信息;
根据所述拓扑结构图,ETCD服务器可以路由所有后台服务器,并获取到达每一台后台服务器的路径;
所述路径是指从ETCD服务器最终到达目标服务器所路由经过的每一级服务器的名称或编号。
进一步的,前台服务器根据所述服务的名称来调用服务;
ETCD服务器支持所述服务的名称的模糊查询和调用。
进一步的,每台后台服务器对应不少于一个服务,每个服务对应一台后台服务器;
ETCD服务器根据服务的名称查找对应的后台服务器;
进一步的,ETCD服务器根据所对应的后台服务器的地址,获取路径信息;
ETCD服务器根据所述查找的路径信息调用该服务。
本发明的技术方案还提供了一种服务器服务发现的***,包括:后台服务器,ETCD服务器,前台服务器,其中,
后台服务器用于向ETCD服务器注册,并共享服务;
ETCD服务器用于接受后台服务器的注册,记录分布式集群服务器的网络拓扑结构,记录后台服务器的路径信息,记录后台服务器和服务的对应关系,以及根据前台服务器的指令调用服务;
前台服务器用于向ETCD服务器调取和获取服务。
进一步的,ETCD服务器和后台服务器采用树形的拓扑结构。
进一步的,后台服务器提供服务共享;
每台后台服务器对应不少于一个服务,一个服务对应唯一一台后台服务器。
本发明技术方案设计采用专用的工作机制来管理分布式***中的服务器和服务的配置,为服务的快速运算提供了良好的硬件环境,能够对分布式***中的服务进行有效管理,迅速实现服务发现功能,并且快速实现服务的调用,适合分布式***的架构,对于提高分布式***和服务的运行效率、保持分布式服务器***的稳定运行提供了可靠的技术保障。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一中服务器服务发现的方法流程图;
图2为本发明实施例一中服务器服务发现的***结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明实施例一中服务器服务发现的方法流程图。如图1所示,该流程包括以下步骤:
步骤101、后台服务器向ETCD服务器注册。
后台服务器在启动或宕机重启的情况下,向ETCD服务器进行注册;
注册后,该服务器所对应的服务即开始运行,处在可提供服务的状态。
步骤102、ETCD服务器接收后台服务器的注册信息,并形成拓扑结构图。
所述注册信息包括但不限于本服务器的编号,母节点服务器,子节点服务器,本服务器所共享的服务;
其中,后台服务器的上一级服务器为母节点,下一级服务器为子节点;
ETCD服务器及后台服务器采用树形结构;
子节点服务器对应一台母节点服务器,母节点服务器对应不少于一台子节点服务器,ETCD服务器无母节点;
ETCD接收到注册信息后,根据每台后台服务器所发送的母节点、子节点信息形成网络拓扑结构图;
根据所述拓扑结构图,ETCD服务器可以路由所有后台服务器,并获取到达每一台后台服务器的路径;
所述路径是指从ETCD服务器最终到达目标服务器所路由经过的每一级服务器的名称或编号。
步骤103、前台服务器从ETCD服务器调用服务。
前台服务器根据所述服务的名称来调用服务;
ETCD服务器支持所述服务的名称的模糊查询和调用。
步骤104、ETCD服务器搜索所述服务所对应的后台服务器。
每台后台服务器对应不少于一个服务,每个服务对应一台后台服务器;
ETCD服务器根据服务的名称查找该服务所对应的后台服务器。
步骤105、ETCD服务器获取服务的路径信息。
ETCD服务器根据所对应的后台服务器的地址,获取路径信息;
ETCD服务器根据所述查找的路径信息到达目标服务器,并调用相应的服务。
步骤106、前台服务器从ETCD服务器获取服务。
为了实现上述服务器服务发现的流程,本实施例还提供了一种服务器服务发现的***,图2为本发明实施例一中服务器服务发现的***结构图。如图2所示,该***包括:后台服务器201,ETCD服务器202,前台服务器203,其中,
后台服务器用于向ETCD服务器注册,并共享服务;
ETCD服务器用于接受后台服务器的注册,记录分布式集群服务器的拓扑结构,记录后台服务器的路径信息,记录后台服务器和服务的对应关系,以及根据前台服务器的指令调用服务;
前台服务器用于向ETCD服务器调取服务。
进一步的,ETCD服务器和后台服务器采用树形的拓扑结构。
进一步的,后台服务器提供服务共享;
每台后台服务器对应不少于一个服务,一个服务对应唯一一台后台服务器。
本发明技术方案设计采用专用的工作机制来管理分布式***中的服务器和服务的配置,为服务的快速运算提供了良好的硬件环境,能够对分布式***中的服务进行有效管理,迅速实现服务发现功能,并且快速实现服务的调用,适合分布式***的架构,对于提高分布式***和服务的运行效率、保持分布式服务器***的稳定运行提供了可靠的技术保障。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种服务器服务发现的方法,其特征在于,包括以下步骤:
后台服务器向ETCD服务器注册;
ETCD服务器接收后台服务器的注册信息,并形成拓扑结构图;
前台服务器从ETCD服务器调用服务;
ETCD服务器搜索所述服务所对应的后台服务器;
ETCD服务器获取服务的路径信息;
前台服务器从ETCD服务器获取服务。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
上一级服务器为母节点,下一级服务器为子节点;
所述注册信息包括但不限于本服务器的编号,母节点服务器,子节点服务器,本服务器所共享的服务。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
ETCD服务器及后台服务器采用树形结构;
子节点服务器对应一台母节点服务器,母节点服务器对应不少于一台子节点服务器;
ETCD服务器无母节点。
4.根据权利要求1所述的方法,其特征在于,进一步包括:
所述拓扑结构图,包括每台服务器的母节点和子节点的信息;
根据所述拓扑结构图,ETCD服务器可以路由所有后台服务器,并获取到达每一台后台服务器的路径;
所述路径是指从ETCD服务器最终到达目标服务器所路由经过的每一级服务器的名称或编号。
5.根据权利要求1所述的方法,其特征在于,所述前台服务器从ETCD服务器调用服务,进一步包括:
前台服务器根据所述服务的名称来调用服务;
ETCD服务器支持所述服务的名称的模糊查询和调用。
6.根据权利要求1和5所述的方法,其特征在于,进一步包括:
每台后台服务器对应不少于一个服务,每个服务对应一台后台服务器;
ETCD服务器根据服务的名称查找对应的后台服务器。
7.根据权利要求1、4和6所述的方法,其特征在于,进一步包括:
ETCD服务器根据所对应的后台服务器的地址,获取路径信息;
ETCD服务器根据所述查找的路径信息调用该服务。
8.一种服务器服务发现的***,其特征在于,包括:后台服务器,ETCD服务器,前台服务器,其中,
后台服务器用于向ETCD服务器注册,并共享服务;
ETCD服务器用于接受后台服务器的注册,记录分布式集群服务器的网络拓扑结构,记录后台服务器的路径信息,记录后台服务器和服务的对应关系,以及根据前台服务器的指令调用服务;
前台服务器用于向ETCD服务器调取和获取服务。
9.根据权利要求8所述的***,其特征在于,进一步包括:
ETCD服务器和后台服务器采用树形的拓扑结构。
10.根据权利要求8所述的***,其特征在于,进一步包括:
后台服务器提供服务共享;
每台后台服务器对应不少于一个服务,一个服务对应唯一一台后台服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510732252.8A CN106657423A (zh) | 2015-11-02 | 2015-11-02 | 一种服务器服务发现的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510732252.8A CN106657423A (zh) | 2015-11-02 | 2015-11-02 | 一种服务器服务发现的方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106657423A true CN106657423A (zh) | 2017-05-10 |
Family
ID=58809619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510732252.8A Pending CN106657423A (zh) | 2015-11-02 | 2015-11-02 | 一种服务器服务发现的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106657423A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924215A (zh) * | 2018-06-28 | 2018-11-30 | 北京顺丰同城科技有限公司 | 一种基于树形结构的服务发现处理方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731743A (zh) * | 2005-09-06 | 2006-02-08 | 杭州华为三康技术有限公司 | 管理网络设备的方法 |
-
2015
- 2015-11-02 CN CN201510732252.8A patent/CN106657423A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731743A (zh) * | 2005-09-06 | 2006-02-08 | 杭州华为三康技术有限公司 | 管理网络设备的方法 |
Non-Patent Citations (1)
Title |
---|
孙健波: ""etcd:从应用场景到实现原理的全方位解读"", 《HTTPS://WWW.INFOQ.CN/ARTICLE/ETCD-INTERPRETATION-APPLICATION-SCENARIO-IMPLEMENT-PRINCIPLE》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924215A (zh) * | 2018-06-28 | 2018-11-30 | 北京顺丰同城科技有限公司 | 一种基于树形结构的服务发现处理方法及装置 |
CN108924215B (zh) * | 2018-06-28 | 2021-03-19 | 北京顺丰同城科技有限公司 | 一种基于树形结构的服务发现处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6732798B2 (ja) | コンピュートクラスタ内のリソースインスタンスグループの自動スケーリング | |
US20240176672A1 (en) | Systems and methods providing serverless dns integration | |
CN110209719B (zh) | 一种基于微服务架构的多种数据库统一访问***及方法 | |
JP2016514311A (ja) | 単一テナント及び複数テナント環境を提供するデータベースシステム | |
US11068461B1 (en) | Monitoring key access patterns for nonrelational databases | |
US10866844B2 (en) | Event domains | |
CN109981757B (zh) | 一种面向小规模微服务架构的api网关负载均衡方法 | |
CN105516284B (zh) | 一种集群数据库分布式存储的方法和装置 | |
US10834173B2 (en) | On-premises and off-premises communication | |
US11308043B2 (en) | Distributed database replication | |
EP3376403A1 (en) | Method of accessing distributed database and device providing distributed data service | |
TW201724001A (zh) | 全域資訊獲取、處理及更新方法、裝置和系統 | |
US8612464B2 (en) | Portable hash-based key location mechanism | |
CN111209364A (zh) | 一种基于众包地图更新的海量数据接入处理方法及*** | |
CN105045762A (zh) | 一种配置文件的管理方法及装置 | |
CN108989399A (zh) | 一种集群公共数据查询方法、***、装置及可读存储介质 | |
US11683316B2 (en) | Method and device for communication between microservices | |
CN113301079B (zh) | 一种数据的获取方法、***、计算设备及存储介质 | |
US11108854B2 (en) | Peer-to-peer network for internet of things resource allocation operation | |
US9736082B2 (en) | Intelligent high-volume cloud application programming interface request caching | |
US20220141080A1 (en) | Availability-enhancing gateways for network traffic in virtualized computing environments | |
CN113452600A (zh) | 跨地域的消息通信方法、装置、电子设备和存储介质 | |
US20150215229A1 (en) | Resource affinity in a dynamic resource pool | |
CN104796465B (zh) | 云平台业务处理方法和*** | |
CN109450798B (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 |
Application publication date: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |