CN109257440A - 一种基于服务注册中心的服务发现和客户端负载均衡方法 - Google Patents

一种基于服务注册中心的服务发现和客户端负载均衡方法 Download PDF

Info

Publication number
CN109257440A
CN109257440A CN201811265617.0A CN201811265617A CN109257440A CN 109257440 A CN109257440 A CN 109257440A CN 201811265617 A CN201811265617 A CN 201811265617A CN 109257440 A CN109257440 A CN 109257440A
Authority
CN
China
Prior art keywords
service
center
registration
application
register center
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
Application number
CN201811265617.0A
Other languages
English (en)
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.)
Nari Information and Communication Technology Co
Original Assignee
Nari Information and Communication Technology Co
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 Nari Information and Communication Technology Co filed Critical Nari Information and Communication Technology Co
Priority to CN201811265617.0A priority Critical patent/CN109257440A/zh
Publication of CN109257440A publication Critical patent/CN109257440A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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

Abstract

本发明公开了一种基于服务注册中心的服务发现和客户端负载均衡方法,包括以下步骤:从调用请求中获取应用服务唯一标识;服务消费者调用服务注册中心的服务实例查询接口,基于RESTful服务调用获取设定应用服务的所有可用的服务实例;计算实例服务器的响应时间权重,根据历史调用服务器的平均响应时间生成权重的区间数据;获取具体的应用服务实例;服务消费者的拦截器基于响应用时间的负载算法选择出一个应用服务实例;计算本次服务调用时长,计算设定应用服务器的平均响应时长、最小响应时长、最大响应时长和调用次数。本发明可提高资源利用率,提高系统可用性,并且成本较低。

Description

一种基于服务注册中心的服务发现和客户端负载均衡方法
技术领域
本发明涉及一种基于服务注册中心的服务发现和客户端负载均衡方法,属于微服务架构应用系统技术领域。
背景技术
随着云技术的进步和服务的增长,微服务架构越来越多的受到了人们的关注。微服务也是一项在云中部署应用和服务的新技术。虽然也存在着许多不同的争论,微服务架构模式却正在为敏捷部署以及复杂企业应用实施提供着巨大的帮助。
在基于云的微服务应用中,服务实例的网络地址(IP Address和Port)是动态分配的,并且由于系统的弹性伸缩、服务失败和服务升级等因数,一些服务运行的实例数量也是动态变化的。因此,客户端代码需要使用一个非常精细和准确的服务发现机制。
现有的负载均衡技术大多通过F5实现集中式负载均衡,集中式负载均衡方案实现简单,在负载均衡上也容易做集中式的访问控制,这一方案目前还是业界主流。集中式负载均衡的主要问题是单点问题,所有服务调用流量都经过负载均衡,当服务数量和调用量大的时候,负载均衡容易成为瓶颈,且一旦负载均衡发生故障对整个系统的影响是灾难性的。另外,负载均衡在服务消费方和服务提供方之间增加了一跳(hop),有一定性能开销。
发明内容
为了解决上述的问题,本发明提供一种基于服务注册中心的服务发现和客户端负载均衡方法,可提高资源利用率,提高系统可用性,并且成本较低。
本发明的一种基于服务注册中心的服务发现和客户端负载均衡方法,包括以下步骤:
S201:服务消费者拦截所有服务调用请求,从调用请求中获取应用服务唯一标识,将服务请求中的虚地址转换为应用服务的实地址,服务消费者将服务应用标识发送到服务注册中心;
S202:服务消费者调用服务注册中心的服务实例查询接口,基于RESTful服务调用获取设定应用服务的所有可用的服务实例;
S203:计算实例服务器的响应时间权重,根据历史调用服务器的平均响应时间生成权重的区间数据;(所述权重的区间数据生成方法如下:遍历服务消费者缓存的服务调用评价数据,计算所有服务实例的平均响应时间总和,分别计算每个服务实例权重的方法为:上个服务的权限+平均响应时间总和-当前服务实例平均响应时间,缓存服务实例对应的区间范围即为权限区间)
S204:根据计算出的权重区间,生成一个[0,最大权重值)区间内的随机数,遍历权重列表,比较权重值与随机数的大小,如果权重值大于等于随机数,将随机数依次比较所有服务实例的权限区间的范围,如果该随机数属于当前服务实例的权限区间则获取当前的应用服务实例;
S205:服务消费者的拦截器基于响应用时间的负载算法选择出一个应用服务实例,在调用RESTful服务前,将请求服务URL中的虚地址替换为具体的服务实例IP地址和端口,重新构造服务实地址的请求URL,服务消费者与服务提供者建立通信连接,获取服务响应;
S206:每次服务调用前后保存应用服务的当前时间戳,调用前后时间差为本次服务调用时长,根据缓存的服务调用时长统计应用服务器的平均响应时长、最小响应时长、最大响应时长和调用次数。
步骤S201中,服务提供者对外提供RESTful协议服务,RESTful服务是基于HTTP协议直接传输XML或Json数据格式的服务协议;所述服务消费者的服务调用拦截器拦截所有的RESTful服务请求,解析服务请求URL中的虚地址为应用服务唯一标识。
步骤S202中,服务注册中心根据应用服务标识在注册表中查询应用服务标识对应的所有活动的服务实例,并将服务实例数据以Json格式返回给服务消费者。
步骤S203中,每个区间的宽度为:总的平均响应时间-实例的平均响应时间。
步骤S205中,服务调用完成后,将服务调用的耗时和异常信息缓存在服务端。
上述服务注册中心基于Zookeeper实现水平扩展,Zookeeper动态管理集群服务注册中心的元数据,通过Leader选举实现服务注册中心的一主多从的架构,注册中心的主节点负责同步完整的应用服务注册表。
基于注册中心维护统一的服务注册表的方法,包括以下步骤:
(1-1)高可用的注册中心:注册中心使用Redis存储服务注册数据,注册中心高可用至少部署两个节点,其中只有一个主节点提供写操作,注册中心集群将写入主节点的数据同步到其它从节点,所有的注册节点都可提供服务查询操作;
(1-2)服务注册:服务提供者在服务启动过程将服务的应用服务标识和应用服务的地址等数据发送给注册中心,当前的服务实例在注册中心成功注册,服务消费者通过应用服务标识查询所有的服务实例;
(1-3)服务续约:服务实例成功后,服务提供者定期向服务注册中心发送心跳数据,注册中心收到心跳数据,修改服务注册表对应的服务实例,修改发送心跳的时间;
(1-4)服务发现:服务注册中心提供服务注册表的查询,服务消费者获取设定应用服务的实例,服务注册中心根据应用服务标识在注册表中查询所有的服务实例;
(1-5)服务注销:服务提供者定期向注册中心发送心跳信息,当注册中心超过三个周期没有收到心跳信息,则将该服务实例从服务注册表中移除。
上述服务注册中心维护统一的服务注册表,以RESTful服务方法提供服务的注册、服务续约、服务发现和服务的注销;服务注册中心定期扫描服务注册表,计算服务提供者的心跳数据是否过期,将超过阈值的服务提供者从服务注册表中移除。
上述服务提供者在服务启动过程中,动态向服务注册中心发送服务注册数据,服务的注册数据包括服务提供者的应用标识和服务物理地址数据;服务提供者在服务生命周期中,定期向服务注册中心发送心跳信息。
上述服务提供者基于Json格式注册服务契约,注册信息包括:需要描述微服务的服务应用标识、服务提供的IP、服务提供者端口、服务状态、服务心跳发送周期、服务过期周期、服务注册时间、最后发送心跳时间、服务状态检查URL。
客户端的负载均衡是服务的消费端向注册中心查询指定应用服务的所有的服务实例,在消费端基于响应时间权重的负载算法选出一台服务实例建立服务调用,最后生成服务调用的性能统计数据,实现服务的分布式负载调用,提升了应用服务的可扩展性和增加服务的容错能力。
附图说明
图1是本发明实施中的一种服务注册和服务发现的结构示意图;
图2是本发明实施中的服务注册的流程图;
图3就本发明实施中的服务发现和客户端负载均衡的流程图;
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
服务注册中心的高可用基于Zookeeper分布式协调框架实现,服务注册中心启动后与Zookeeper服务建立一个长连接,Zookeeper能够通过心跳检测和服务器保持有效的会话,服务注册中心向Zookeeper的临时节点中写入本服务地址等相关的元数据,临时节点的生命周期和注册中心的会话绑定,一旦注册中心会话失效,那么该注册中心所创建的所有临时节点都会被移除。
服务注册中心通过Zookeeper选举产生服务注册中心Leader节点,其它的的节点均为Follower节点,Leader节点接收应用服务和Follower节点发送的心跳数据,并以后台启动定时器,将所有失效或过期的注册服务器从注册表中删除,定期将完整的注册表同步到其它的Follower节点,所有的服务中心节均对外提供注册的查询功能。
服务注册中心是服务发现的核心,服务注册中心保存了各个服务可用的实例的相关信息。服务注册中心提供了RESTful服务接口维护服务注册表。使用RESTful接口进行服务注册、注销和查询操作。
服务提供者在服务启动过程中自动获取本实例的IP地址、端口和应用服务标识等数据,将实例注册元数据推送给服务注册中心,服务实例注册的元数据如下:
应用服务标识和应用服务实例标识是一对多的关系,应用服务标识预设在服务的配置文件中,应用服务的实例标识由系统自动生成,它的标识由三个域组成:服务主机名+应用服务标识+端口号。
应用服务提供者在服务运行期间以预设的频率向注册中心发送一次心跳信息,心跳信息包含应用服务实例标识和应用服务标识,注册中心根据应用服务实例查询该服务的注册信息,将服务心跳最后时间戳改为当前系统时间。
注册中心的超时扫描单元,定时扫描注册中心的所有服务实例,计算服务实例是否超时,如果注册中心超过3个心跳周期没有收到心跳数据,则该服务实例已经下线,将该服务实例从注册中心删除。
注册中心使用Redis内存数据库存储服务注册信息,Redis是一个高性能的Key-Value数据库,它支持主从同步,数据可以从主服务器向任意数量的从服务器上同步。服务注册表以哈希类型作为存储结构,键为应用服务实例ID,值为服务实例的注册元数据,可以高效地注册和续约指定的服务实例。
服务注册实例的获取单元,服务消费者在调用服务前,从注册中心获取指定应用的所有服务实例数据,调用注册中心提供的获取服务实例接口,将服务应用标识发送给注册中心。
服务注册中心根据应用服务标识,在注册表中查询所有的可用服务实例,将服务实例元数据以Json格式返回给服务消费者。
客户端负载均衡单元,服务消费者从注册中心获取指定应用的至少一个服务实例中,根据基于响应用时间权重的负载均衡算法,选出一个服务实例。
负载均衡权重计算单元,服务消费者缓存服务调用的性能统计数据,作为计算服务权重的依据,服务消费者定时计算服务实例的权重数据。
负载均衡计算单元,服务消费者通过应用实例的性能权重数据,从指定应用服务的所有实例中选出一个服务实例节点。
服务调用单元,根据负载均衡选出的一个可用的服务实例,构造服务请求的URL地址和请求参数,将服务调用请求发送到该应用服务器上。
应用服务的性能统计单元,应用服务消费者在调用服务提供者的服务方法后,将本次调用方法的性能缓存在消费端,重新计算指定服务实例的调用次数、最低响应时长、最长响应时长和平均响应时长等。
所述的服务注册中心本质上是为了解耦服务提供者和服务消费者,对于任何一个微服务,原则上都应存在或者支持多个提供者,为了支持弹性扩缩容特性,一个微服务的提供者的数量和分布往往是动态变化的,也是无法预先确定的,服务注册中心组件用来管理微服务提供者的注册与发现。
服务注册中心高可用基于Zookeeper管理注册中心的元数据和Leader节点的选举,注册中心的Leader节点定时将完整注册表同步到其它的Follower节点。
服务提供者定期向服务注册中心发送心跳数据防止契约过期,服务注册中心负责注册服务、服务续约和删除过期的服务契约。服务消费端通过服务发现组件,从注册中心根据应用服务标识获取一个或多个服务实例,通过服务平均响应时间分别计算每个服务实例的负载均衡权重区间,服务的平均性能与权重区间宽度成正比,权重区间的宽度越大被选中的概率就越高,负载均衡从整个权重区间随机选取一个服务实例,服务消费者调用服务提供者的服务,并保存服务调用的性能评价数据。
图1是本发明服务注册和服务发现的结构示意图,整个系统架构中包含四个主体,即Zookeeper分布式协调器、服务注册中心、服务提供者和服务消费者。
所述的Zookeeper分布式协调器,是指用于管理高可用的服务注册中心的元数据,监控注册中心服务器上线与下线,协调注册中心服务进行Leader选举,Leader节点接收应用服务的心跳数据,定时将过期的服务注册中心契约删除,Leader节点将完整的应用服务注册表同步到所有的Follower节点,Follower节点与Leader节点均可对应用服务提供注册信息的查询。
所述的服务注册中心,它使用轻量级的RESTful服务接口,提供基本功能:1)服务的注册;2)服务心跳更新;3)服务健康检查;4)服务注销;5)服务实例查询;
所述的服务提供者,是指服务启动过程中自动将自已注册在服务注册中心,并定时发送心跳数据以保持活动状态,服务提供者接收服务消费者的调用。
所述的服务消费者,是指从注册中心查询所有应用服务实例,基于响性时间负载均衡算法选出一个服务实例,调用服务提供的服务,并统计服务调用的性能数据。
图2是本发明实施例中的服务注册方法的实现步骤:
步骤S101:服务提供者在服务启动过程中自动获取本服务实例元数据,从服务配置文件中获取预设的服务应用标识,自动获取服务所在机器的ip地址和端口号,如果服务器有多块网卡,则获取第一个非回环ip地址,服务实例标识根据服务主机名、端口号和服务应用标识组成。
步骤S102:服务提供者将服务实例注册数据序列化为Json格式,调用注册中心的RESTful服务接口,以POST请求提交服务注册数据,服务提供者等待注册中心的响应,如果返回200状态响应代码,则注册成功,否则阻塞10秒钟后重新注册,最大重试三次。
步骤S103:服务提供者在服务运行整个生命周期内给注册中心发送心跳,服务续约周期是30秒,注册中心收到服务续约数据,根据续约信息提供的应用服务实例标识,在服务注册表中查询对应的服务实例数据,将该条服务实例的最后心跳时间改为系统的当前时间。
步骤S104:注册中心服务端通过定时器踢除过期的服务实例注册数据,每隔30秒扫描服务注册表所有的服务实例,依次校验服务器当前时间与上次发送心跳的时间差,如果超过3个心跳周期(90秒)没有收到服务心跳,标记该服务实例为失效状态,并且服务注册中心主动调用服务实例的健康检查页面,如果调用超时或异常则将该服务实例从注册表中踢除。
可选的,注册中心提供主动注销的RESTful接口,当应用服务由于升级停服务需要主动关闭时,在服务退出前主动调用服务注册中心的注销实例接口,注册中心收到注销请求将该服务实例从服务注册表中删除。
步骤S105:服务注册中心提供注册实例的查询,提供两类接口:1)获取注册中心的所有服务注册实例;2)根据应用服务标识,获取指定服务的所有注册实例;服务的消费者在调用服务前通过查询服务实例获取调用服务的地址和端口信息。
图3是本发明实施例中的服务发现和客户端负载均衡的实现步骤:
步骤S201:服务消费者端实现了服务拦截器,拦截服务调用请求,将服务请求中的虚地址转换为应用服务的实地址。
具体的,服务提供者对外提供RESTful协议服务,RESTful服务是基于HTTP协议直接传输XML或Json数据格式的服务协议。服务消费者的服务调用拦截器拦截所有的RESTful服务请求,解析服务请求URL中的虚地址为应用服务唯一标识,拦截器在注册中心查询服务实例基于客户端负载均衡选出一个服务实例,最后重新构造服务请求的地址进行服务调用。
步骤S202:服务消费者调用服务注册中心的服务实例查询接口,基于RESTful服务调用获取指定应用服务的所有可用的服务实例。
步骤S203:客户端负载均衡模块缓存了应用服务实例的平均响应时间,根据服务实例平均响应时间计算应用服务的区间权重,权重的计算过程:假设有4个服务实例A、B、C、D,他们的平均响应时间为:10、40、80、100,所以总响应时间是10+40+80+100=230,每个实例的权重为总响应时间与实例自身的平均响应时间的差的累积获得,所以实例A、B、C、D的权重分别为:
·实例A:230-10=220
·实例B:220+(230-40)=410
·实例C:410+(230-80)=560
·实例D:560+(230-100)=690
权重值只是表示了各实例权重区间的上限,并非某个实例的优先级,所以不是数值越大被选中的概率就越大。上面的例子实际上是为这4个实例构建了4个不同的区间,每个实例的区间下限是上一个实例的区间上限,而每个实例的区间上限则是我们上面计算并存储于List中的权重值,其中第一个实例的下限默认为零。所以,根据上面示例的权重计算结果,我们可以得到每个实例的权重区间:
·实例A:[0,220]
·实例B:(220,410]
·实例C:(410,560]
·实例D:(560,690)
每个区间的宽度就是:总的平均响应时间-实例的平均响应时间,所以实例的平均响应时间越短、权重区间的宽度越大,而权重区间的宽度越大被选中的概率就越高。
步骤S204:客户端负载均衡模块根据计算出的权重区间,生成一个[0,最大权重值)区间内的随机数,遍历权重列表,比较权重值与随机数的大小,如果权重值大于等于随机数,就拿当前权重列表的索引值在服务实例列表中获取具体的应用服务实例。
步骤S205:服务消费者的拦截器基于响应用时间的负载算法选择出一个应用服务实例,在调用RESTful服务前,将请求服务URL中的虚地址替换为具体的服务实例IP地址和端口,重新构造服务实地址的请求URL,服务消费者与服务提供者建立通信连接,获取服务响应。
步骤S206:服务消息者在每次调用服务后,重新计算应用服务性能的统计数据,计算本次服务调用的时长,统计应用服务实例的平均响应时长,最小响应用时长和最大响应时长,应用服务的性能统计数据用于计算应用服务实例的权重数据的依据。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (10)

1.一种基于服务注册中心的服务发现和客户端负载均衡方法,其特征在于,包括以下步骤:
S201:服务消费者拦截所有服务调用请求,从调用请求中获取应用服务唯一标识,将服务请求中的虚地址转换为应用服务的实地址,服务消费者将服务应用标识发送到服务注册中心;
S202:服务消费者调用服务注册中心的服务实例查询接口,基于RESTful服务调用获取设定应用服务的所有可用的服务实例;
S203:计算实例服务器的响应时间权重,根据历史调用服务器的平均响应时间生成权重的区间数据;
S204:根据计算出的权重区间,生成一个[0,最大权重值)区间内的随机数,遍历权重列表,比较权重值与随机数的大小,如果权重值大于等于随机数,将随机数依次比较所有服务实例的权限区间的范围,如果该随机数属于当前服务实例的权限区间则获取当前的应用服务实例;
S205:服务消费者的拦截器基于响应用时间的负载算法选择出一个应用服务实例,在调用RESTful服务前,将请求服务URL中的虚地址替换为具体的服务实例IP地址和端口,重新构造服务实地址的请求URL,服务消费者与服务提供者建立通信连接,获取服务响应;
S206:每次服务调用前后保存应用服务的当前时间戳,调用前后时间差为本次服务调用时长,根据缓存的服务调用时长统计应用服务器的平均响应时长、最小响应时长、最大响应时长和调用次数。
2.根据权利要求1所述的基于服务注册中心的服务发现和客户端负载均衡方法,其特征在于,步骤S201中,服务提供者对外提供RESTful协议服务,RESTful服务是基于HTTP协议直接传输XML或Json数据格式的服务协议;所述服务消费者的服务调用拦截器拦截所有的RESTful服务请求,解析服务请求URL中的虚地址为应用服务唯一标识。
3.根据权利要求1所述的基于服务注册中心的服务发现和客户端负载均衡方法,其特征在于,步骤S202中,服务注册中心根据应用服务标识在注册表中查询应用服务标识对应的所有活动的服务实例,并将服务实例数据以Json格式返回给服务消费者。
4.根据权利要求1所述的基于服务注册中心的服务发现和客户端负载均衡方法,其特征在于,步骤S203中,每个区间的宽度为:总的平均响应时间-实例的平均响应时间。
5.根据权利要求1所述的基于服务注册中心的服务发现和客户端负载均衡方法,其特征在于,步骤S205中,服务调用完成后,将服务调用的耗时和异常信息缓存在服务端。
6.根据权利要求1所述的基于服务注册中心的服务发现和客户端负载均衡方法,其特征在于,所述服务注册中心基于Zookeeper实现水平扩展,Zookeeper动态管理集群服务注册中心的元数据,通过Leader选举实现服务注册中心的一主多从的架构,注册中心的主节点负责同步完整的应用服务注册表。
7.根据权利要求1所述的基于服务注册中心的服务发现和客户端负载均衡方法,其特征在于,基于注册中心维护统一的服务注册表的方法,包括以下步骤:
(1-1)高可用的注册中心:注册中心使用Redis存储服务注册数据,注册中心高可用至少部署两个节点,其中只有一个主节点提供写操作,注册中心集群将写入主节点的数据同步到其它从节点,所有的注册节点都可提供服务查询操作;
(1-2)服务注册:服务提供者在服务启动过程将服务的应用服务标识和应用服务的地址等数据发送给注册中心,当前的服务实例在注册中心成功注册,服务消费者通过应用服务标识查询所有的服务实例;
(1-3)服务续约:服务实例成功后,服务提供者定期向服务注册中心发送心跳数据,注册中心收到心跳数据,修改服务注册表对应的服务实例,修改发送心跳的时间;
(1-4)服务发现:服务注册中心提供服务注册表的查询,服务消费者获取设定应用服务的实例,服务注册中心根据应用服务标识在注册表中查询所有的服务实例;
(1-5)服务注销:服务提供者定期向注册中心发送心跳信息,当注册中心超过三个周期没有收到心跳信息,则将该服务实例从服务注册表中移除。
8.根据权利要求1所述的基于服务注册中心的服务发现和客户端负载均衡方法,其特征在于,所述服务注册中心维护统一的服务注册表,以RESTful服务方法提供服务的注册、服务续约、服务发现和服务的注销;服务注册中心定期扫描服务注册表,计算服务提供者的心跳数据是否过期,将超过阈值的服务提供者从服务注册表中移除。
9.根据权利要求1所述的基于服务注册中心的服务发现和客户端负载均衡方法,其特征在于,所述服务提供者在服务启动过程中,动态向服务注册中心发送服务注册数据,服务的注册数据包括服务提供者的应用标识和服务物理地址数据;服务提供者在服务生命周期中,定期向服务注册中心发送心跳信息。
10.根据权利要求1所述的基于服务注册中心的服务发现和客户端负载均衡方法,其特征在于,所述服务提供者基于Json格式注册服务契约,注册信息包括:需要描述微服务的服务应用标识、服务提供的IP、服务提供者端口、服务状态、服务心跳发送周期、服务过期周期、服务注册时间、最后发送心跳时间、服务状态检查URL。
CN201811265617.0A 2018-10-29 2018-10-29 一种基于服务注册中心的服务发现和客户端负载均衡方法 Pending CN109257440A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811265617.0A CN109257440A (zh) 2018-10-29 2018-10-29 一种基于服务注册中心的服务发现和客户端负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811265617.0A CN109257440A (zh) 2018-10-29 2018-10-29 一种基于服务注册中心的服务发现和客户端负载均衡方法

Publications (1)

Publication Number Publication Date
CN109257440A true CN109257440A (zh) 2019-01-22

Family

ID=65045013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811265617.0A Pending CN109257440A (zh) 2018-10-29 2018-10-29 一种基于服务注册中心的服务发现和客户端负载均衡方法

Country Status (1)

Country Link
CN (1) CN109257440A (zh)

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110035122A (zh) * 2019-04-04 2019-07-19 科讯嘉联信息技术有限公司 一种基于动态概率模型的负载均衡方法、装置和系统
CN110162405A (zh) * 2019-05-31 2019-08-23 福建南威软件有限公司 一种自动服务发现与负载均衡的方法及系统
CN110233886A (zh) * 2019-05-30 2019-09-13 华南理工大学 一种面向海量微服务的高可用服务治理系统及实现方法
CN110275724A (zh) * 2019-06-26 2019-09-24 广州小鹏汽车科技有限公司 一种服务实例更新方法和装置
CN110287053A (zh) * 2019-06-27 2019-09-27 四川新网银行股份有限公司 分布式系统异常统一处理的方法
CN110311896A (zh) * 2019-05-28 2019-10-08 西南电子技术研究所(中国电子科技集团公司第十研究所) 机载平台服务注册中心系统
CN110311900A (zh) * 2019-06-19 2019-10-08 微梦创科网络科技(中国)有限公司 一种服务调用方法、装置、电子设备及存储介质
CN110365750A (zh) * 2019-06-25 2019-10-22 苏宁云计算有限公司 服务注册系统及方法
CN110365743A (zh) * 2019-06-21 2019-10-22 南京壹进制信息科技有限公司 一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法
CN110381163A (zh) * 2019-07-30 2019-10-25 普信恒业科技发展(北京)有限公司 网关节点转发服务请求的方法及网关节点
CN110417614A (zh) * 2019-06-18 2019-11-05 平安科技(深圳)有限公司 云服务器自检方法、装置、设备及计算机可读存储介质
CN110519395A (zh) * 2019-09-16 2019-11-29 北京思维造物信息科技股份有限公司 服务请求处理方法、装置、计算机设备及存储介质
CN110602169A (zh) * 2019-08-13 2019-12-20 上海陆家嘴国际金融资产交易市场股份有限公司 服务调用方法、装置、计算机设备和存储介质
CN110659184A (zh) * 2019-09-23 2020-01-07 北京百度网讯科技有限公司 健康状态检查方法、装置及系统
CN110830461A (zh) * 2019-10-28 2020-02-21 杭州涂鸦信息技术有限公司 基于tls长连接的跨区的rpc服务调用方法及系统
CN110825772A (zh) * 2019-10-28 2020-02-21 爱钱进(北京)信息科技有限公司 多个服务实例的内存数据的同步方法、装置及存储介质
CN110995728A (zh) * 2019-12-06 2020-04-10 上海上讯信息技术股份有限公司 映射网络的rcp调用方法、装置及电子设备
CN111083210A (zh) * 2019-12-05 2020-04-28 浩云科技股份有限公司 流媒体服务调度方法及系统
CN111147605A (zh) * 2019-12-31 2020-05-12 中国银行股份有限公司 服务注册方法、装置和设备
CN111355814A (zh) * 2020-04-21 2020-06-30 上海润欣科技股份有限公司 一种负载均衡方法、装置及存储介质
CN111431999A (zh) * 2020-03-23 2020-07-17 杭州趣维科技有限公司 一种基于Paxos算法的云函数分布式系统
CN111464592A (zh) * 2020-03-09 2020-07-28 平安科技(深圳)有限公司 基于微服务的负载均衡方法、装置、设备及存储介质
CN111490890A (zh) * 2019-01-28 2020-08-04 珠海格力电器股份有限公司 基于微服务架构的分级注册方法、装置、存储介质及设备
CN111698108A (zh) * 2019-03-13 2020-09-22 阿里巴巴集团控股有限公司 数据传递方法及装置
CN112019387A (zh) * 2020-09-02 2020-12-01 上海卓钢链科技有限公司 一种分布式服务注册中心构建方法
CN112087333A (zh) * 2020-09-07 2020-12-15 上海浦东发展银行股份有限公司 一种微服务注册中心集群及其信息处理方法
CN112104468A (zh) * 2019-06-17 2020-12-18 华为技术有限公司 一种管理服务的发现方法及装置
CN112311871A (zh) * 2020-10-29 2021-02-02 山东健康医疗大数据有限公司 一种基于微服务架构的统一应用开发方法及系统
CN112445580A (zh) * 2019-08-28 2021-03-05 烽火通信科技股份有限公司 一种微服务分组管理控制方法及系统
CN112532743A (zh) * 2020-12-18 2021-03-19 上海安畅网络科技股份有限公司 一种智能负载均衡方法、装置及存储介质
CN112542002A (zh) * 2019-09-23 2021-03-23 北京轻享科技有限公司 一种租车系统控制方法及装置
CN112564978A (zh) * 2020-12-16 2021-03-26 中盈优创资讯科技有限公司 一种基于元数据注册的设备配置服务选择方法
CN112822280A (zh) * 2021-01-16 2021-05-18 西安交通大学 一种去中心化的物联网微服务订阅和推送方法
CN113347274A (zh) * 2021-07-02 2021-09-03 大象慧云信息技术有限公司 一种微服务的数据处理系统和方法
CN113407382A (zh) * 2021-06-15 2021-09-17 北京城建设计发展集团股份有限公司 一种服务故障动态调控方法与系统
WO2021203968A1 (zh) * 2020-10-28 2021-10-14 平安科技(深圳)有限公司 多注册中心的微服务统一管理方法、装置、设备及介质
CN113726902A (zh) * 2021-09-02 2021-11-30 马上消费金融股份有限公司 微服务的调用方法及系统
CN113765870A (zh) * 2020-09-01 2021-12-07 北京沃东天骏信息技术有限公司 一种远程服务调用方法、装置和系统
CN113791799A (zh) * 2021-01-06 2021-12-14 北京沃东天骏信息技术有限公司 系统升级方法及装置、计算机可读存储介质、电子设备
WO2022021850A1 (zh) * 2020-07-28 2022-02-03 苏州浪潮智能科技有限公司 一种服务实例部署方法、装置、电子设备和存储介质
CN114640656A (zh) * 2020-12-01 2022-06-17 博泰车联网科技(上海)股份有限公司 更新数据的方法、装置及介质
CN115102999A (zh) * 2022-06-09 2022-09-23 光大科技有限公司 DevOps系统、服务提供方法、存储介质和电子装置
CN115190066A (zh) * 2022-06-02 2022-10-14 武汉众邦银行股份有限公司 一种基于加权随机算法的计算路由权重比例方法
CN115297156A (zh) * 2022-06-21 2022-11-04 北京结慧科技有限公司 一种微服务注册系统以及微服务注册方法
CN115834668A (zh) * 2022-11-08 2023-03-21 中国工商银行股份有限公司 集群节点控制方法、装置、设备、存储介质和程序产品
CN116155978A (zh) * 2023-02-13 2023-05-23 京东科技信息技术有限公司 多注册中心适配方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090193146A1 (en) * 2008-01-24 2009-07-30 Cisco Technology, Inc. Utilizing Virtual Server Weight for Loadbalancing
CN106888129A (zh) * 2017-04-20 2017-06-23 国家电网公司 一种可弹性伸缩的分布式服务管理系统及其方法
CN107895253A (zh) * 2017-10-25 2018-04-10 北京科东电力控制系统有限责任公司 一种电力交易功能进行微服务改造的方法
CN108600360A (zh) * 2018-04-18 2018-09-28 国电南京自动化股份有限公司 一种基于zookeeper的REST服务系统和方法
CN108696551A (zh) * 2017-04-06 2018-10-23 中兴通讯股份有限公司 系统进程间请求寻址的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090193146A1 (en) * 2008-01-24 2009-07-30 Cisco Technology, Inc. Utilizing Virtual Server Weight for Loadbalancing
CN108696551A (zh) * 2017-04-06 2018-10-23 中兴通讯股份有限公司 系统进程间请求寻址的方法和装置
CN106888129A (zh) * 2017-04-20 2017-06-23 国家电网公司 一种可弹性伸缩的分布式服务管理系统及其方法
CN107895253A (zh) * 2017-10-25 2018-04-10 北京科东电力控制系统有限责任公司 一种电力交易功能进行微服务改造的方法
CN108600360A (zh) * 2018-04-18 2018-09-28 国电南京自动化股份有限公司 一种基于zookeeper的REST服务系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHENGQIUMING: "负载均衡策略之WeightedResponseTimeRule源码解读", 《HTTPS://BLOG.CSDN.NET/CHENGQIUMING/ARTICLE/DETAILS/81263854 》 *
企鹅号-起点周刊: "Spring Cloud微服务:负载均衡", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/NEWS/239193》 *

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111490890A (zh) * 2019-01-28 2020-08-04 珠海格力电器股份有限公司 基于微服务架构的分级注册方法、装置、存储介质及设备
CN111698108B (zh) * 2019-03-13 2023-11-21 阿里巴巴集团控股有限公司 数据传递方法及装置
CN111698108A (zh) * 2019-03-13 2020-09-22 阿里巴巴集团控股有限公司 数据传递方法及装置
CN110035122A (zh) * 2019-04-04 2019-07-19 科讯嘉联信息技术有限公司 一种基于动态概率模型的负载均衡方法、装置和系统
CN110311896B (zh) * 2019-05-28 2021-06-15 西南电子技术研究所(中国电子科技集团公司第十研究所) 机载平台服务注册中心系统
CN110311896A (zh) * 2019-05-28 2019-10-08 西南电子技术研究所(中国电子科技集团公司第十研究所) 机载平台服务注册中心系统
CN110233886A (zh) * 2019-05-30 2019-09-13 华南理工大学 一种面向海量微服务的高可用服务治理系统及实现方法
CN110162405A (zh) * 2019-05-31 2019-08-23 福建南威软件有限公司 一种自动服务发现与负载均衡的方法及系统
CN112104468A (zh) * 2019-06-17 2020-12-18 华为技术有限公司 一种管理服务的发现方法及装置
CN112104468B (zh) * 2019-06-17 2021-12-03 华为技术有限公司 一种管理服务的发现方法及装置
CN110417614B (zh) * 2019-06-18 2022-04-26 平安科技(深圳)有限公司 云服务器自检方法、装置、设备及计算机可读存储介质
CN110417614A (zh) * 2019-06-18 2019-11-05 平安科技(深圳)有限公司 云服务器自检方法、装置、设备及计算机可读存储介质
CN110311900A (zh) * 2019-06-19 2019-10-08 微梦创科网络科技(中国)有限公司 一种服务调用方法、装置、电子设备及存储介质
CN110365743A (zh) * 2019-06-21 2019-10-22 南京壹进制信息科技有限公司 一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法
CN110365750A (zh) * 2019-06-25 2019-10-22 苏宁云计算有限公司 服务注册系统及方法
CN110275724A (zh) * 2019-06-26 2019-09-24 广州小鹏汽车科技有限公司 一种服务实例更新方法和装置
CN110287053A (zh) * 2019-06-27 2019-09-27 四川新网银行股份有限公司 分布式系统异常统一处理的方法
CN110287053B (zh) * 2019-06-27 2022-11-04 四川新网银行股份有限公司 分布式系统异常统一处理的方法
CN110381163A (zh) * 2019-07-30 2019-10-25 普信恒业科技发展(北京)有限公司 网关节点转发服务请求的方法及网关节点
CN110602169A (zh) * 2019-08-13 2019-12-20 上海陆家嘴国际金融资产交易市场股份有限公司 服务调用方法、装置、计算机设备和存储介质
CN110602169B (zh) * 2019-08-13 2022-11-29 未鲲(上海)科技服务有限公司 服务调用方法、装置、计算机设备和存储介质
CN112445580A (zh) * 2019-08-28 2021-03-05 烽火通信科技股份有限公司 一种微服务分组管理控制方法及系统
CN110519395A (zh) * 2019-09-16 2019-11-29 北京思维造物信息科技股份有限公司 服务请求处理方法、装置、计算机设备及存储介质
CN110659184A (zh) * 2019-09-23 2020-01-07 北京百度网讯科技有限公司 健康状态检查方法、装置及系统
CN110659184B (zh) * 2019-09-23 2023-04-18 北京百度网讯科技有限公司 健康状态检查方法、装置及系统
CN112542002A (zh) * 2019-09-23 2021-03-23 北京轻享科技有限公司 一种租车系统控制方法及装置
CN110825772A (zh) * 2019-10-28 2020-02-21 爱钱进(北京)信息科技有限公司 多个服务实例的内存数据的同步方法、装置及存储介质
CN110830461A (zh) * 2019-10-28 2020-02-21 杭州涂鸦信息技术有限公司 基于tls长连接的跨区的rpc服务调用方法及系统
CN111083210A (zh) * 2019-12-05 2020-04-28 浩云科技股份有限公司 流媒体服务调度方法及系统
CN110995728A (zh) * 2019-12-06 2020-04-10 上海上讯信息技术股份有限公司 映射网络的rcp调用方法、装置及电子设备
CN111147605A (zh) * 2019-12-31 2020-05-12 中国银行股份有限公司 服务注册方法、装置和设备
CN111147605B (zh) * 2019-12-31 2022-06-10 中国银行股份有限公司 服务注册方法、装置和设备
CN111464592B (zh) * 2020-03-09 2023-07-25 平安科技(深圳)有限公司 基于微服务的负载均衡方法、装置、设备及存储介质
CN111464592A (zh) * 2020-03-09 2020-07-28 平安科技(深圳)有限公司 基于微服务的负载均衡方法、装置、设备及存储介质
CN111431999A (zh) * 2020-03-23 2020-07-17 杭州趣维科技有限公司 一种基于Paxos算法的云函数分布式系统
CN111431999B (zh) * 2020-03-23 2022-11-25 杭州小影创新科技股份有限公司 一种基于Paxos算法的云函数分布式系统
CN111355814A (zh) * 2020-04-21 2020-06-30 上海润欣科技股份有限公司 一种负载均衡方法、装置及存储介质
CN111355814B (zh) * 2020-04-21 2024-04-19 上海润欣科技股份有限公司 一种负载均衡方法、装置及存储介质
WO2022021850A1 (zh) * 2020-07-28 2022-02-03 苏州浪潮智能科技有限公司 一种服务实例部署方法、装置、电子设备和存储介质
CN113765870A (zh) * 2020-09-01 2021-12-07 北京沃东天骏信息技术有限公司 一种远程服务调用方法、装置和系统
CN113765870B (zh) * 2020-09-01 2023-09-05 北京沃东天骏信息技术有限公司 一种远程服务调用方法、装置和系统
CN112019387A (zh) * 2020-09-02 2020-12-01 上海卓钢链科技有限公司 一种分布式服务注册中心构建方法
CN112087333B (zh) * 2020-09-07 2023-08-11 上海浦东发展银行股份有限公司 一种微服务注册中心集群及其信息处理方法
CN112087333A (zh) * 2020-09-07 2020-12-15 上海浦东发展银行股份有限公司 一种微服务注册中心集群及其信息处理方法
WO2021203968A1 (zh) * 2020-10-28 2021-10-14 平安科技(深圳)有限公司 多注册中心的微服务统一管理方法、装置、设备及介质
CN112311871A (zh) * 2020-10-29 2021-02-02 山东健康医疗大数据有限公司 一种基于微服务架构的统一应用开发方法及系统
CN114640656A (zh) * 2020-12-01 2022-06-17 博泰车联网科技(上海)股份有限公司 更新数据的方法、装置及介质
CN112564978A (zh) * 2020-12-16 2021-03-26 中盈优创资讯科技有限公司 一种基于元数据注册的设备配置服务选择方法
CN112532743B (zh) * 2020-12-18 2021-11-30 上海安畅网络科技股份有限公司 一种智能负载均衡方法、装置及存储介质
CN112532743A (zh) * 2020-12-18 2021-03-19 上海安畅网络科技股份有限公司 一种智能负载均衡方法、装置及存储介质
CN113791799A (zh) * 2021-01-06 2021-12-14 北京沃东天骏信息技术有限公司 系统升级方法及装置、计算机可读存储介质、电子设备
CN112822280A (zh) * 2021-01-16 2021-05-18 西安交通大学 一种去中心化的物联网微服务订阅和推送方法
CN112822280B (zh) * 2021-01-16 2022-05-20 西安交通大学 一种去中心化的物联网微服务订阅和推送方法
CN113407382B (zh) * 2021-06-15 2022-04-01 北京城建设计发展集团股份有限公司 一种服务故障动态调控方法与系统
CN113407382A (zh) * 2021-06-15 2021-09-17 北京城建设计发展集团股份有限公司 一种服务故障动态调控方法与系统
CN113347274A (zh) * 2021-07-02 2021-09-03 大象慧云信息技术有限公司 一种微服务的数据处理系统和方法
CN113726902A (zh) * 2021-09-02 2021-11-30 马上消费金融股份有限公司 微服务的调用方法及系统
CN115190066B (zh) * 2022-06-02 2023-07-07 武汉众邦银行股份有限公司 一种基于加权随机算法的计算路由权重比例方法
CN115190066A (zh) * 2022-06-02 2022-10-14 武汉众邦银行股份有限公司 一种基于加权随机算法的计算路由权重比例方法
CN115102999A (zh) * 2022-06-09 2022-09-23 光大科技有限公司 DevOps系统、服务提供方法、存储介质和电子装置
CN115102999B (zh) * 2022-06-09 2024-02-09 光大科技有限公司 DevOps系统、服务提供方法、存储介质和电子装置
CN115297156A (zh) * 2022-06-21 2022-11-04 北京结慧科技有限公司 一种微服务注册系统以及微服务注册方法
CN115834668A (zh) * 2022-11-08 2023-03-21 中国工商银行股份有限公司 集群节点控制方法、装置、设备、存储介质和程序产品
CN116155978A (zh) * 2023-02-13 2023-05-23 京东科技信息技术有限公司 多注册中心适配方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN109257440A (zh) 一种基于服务注册中心的服务发现和客户端负载均衡方法
CN109547517B (zh) 一种带宽资源调度方法和装置
CN103369601B (zh) 为手机客户端提供大并发处理及流量控制的方法
US9716746B2 (en) System and method using software defined continuity (SDC) and application defined continuity (ADC) for achieving business continuity and application continuity on massively scalable entities like entire datacenters, entire clouds etc. in a computing system environment
CN108712464A (zh) 一种面向集群微服务高可用的实现方法
CN110365750A (zh) 服务注册系统及方法
CN109756366A (zh) 基于caas的智能网scp云服务实现系统
CN110247954A (zh) 一种分布式任务的调度方法及系统
CN107341044A (zh) 一种分布式数据中心统一监控架构及方法
CN106657287A (zh) 一种数据访问方法及系统
CN107947960A (zh) 配置信息的推送方法及系统、配置信息的接收方法及系统
CN103905537A (zh) 分布式环境下管理工业实时数据存储的系统
CN1929494B (zh) 分布式电子节目导航系统
CN109618002A (zh) 一种微服务网关优化方法、装置及存储介质
US20130007253A1 (en) Method, system and corresponding device for load balancing
CN102281190A (zh) 负载均衡装置组网方法以及服务器、客户端接入方法
CN109901927A (zh) 智能化任务动态调度系统及其方法
CN106407011A (zh) 一种基于路由表的搜索系统集群服务管理的方法及系统
CN107888666A (zh) 一种跨地域数据存储系统以及数据同步方法和装置
CN103166980A (zh) 互联网数据拉取方法和系统
CN106034137A (zh) 用于分布式系统的智能调度方法及分布式服务系统
CN106209943A (zh) 通讯节点的选择方法及装置
CN102868770A (zh) 一种分配接口的方法、设备及系统
CN108924249A (zh) 一种部署OpenStack平台的方法及装置
CN110311896A (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: 20190122

RJ01 Rejection of invention patent application after publication