基于微服务的负载均衡方法、装置、设备及存储介质.pdf
《基于微服务的负载均衡方法、装置、设备及存储介质.pdf》由会员分享,可在线阅读,更多相关《基于微服务的负载均衡方法、装置、设备及存储介质.pdf(21页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010156707.7 (22)申请日 2020.03.09 (71)申请人 平安科技 (深圳) 有限公司 地址 518033 广东省深圳市福田区福田街 道福安社区益田路5033号平安金融中 心23楼 (72)发明人 周钦雄刘亚猛 (74)专利代理机构 北京市京大律师事务所 11321 代理人 刘挽澜 (51)Int.Cl. H04L 29/08(2006.01) H04L 29/06(2006.01) H04L 29/12(2006.01) (54)发明名称 基于微服务的。
2、负载均衡方法、 装置、 设备及 存储介质 (57)摘要 本发明涉及云服务领域, 公开了一种基于微 服务的负载均衡方法、 装置、 设备及存储介质。 基 于微服务的负载均衡方法包括: 基于服务发现框 架eureka将注册中心服务和业务微服务部署到 不同的机房中, 并对不同的机房分配对应的区域 标识; 解析域名解析请求, 得到域名地址; 通过第 一预置负载均衡算法对域名地址进行域名解析, 得到公网网络协议地址; 当接收到目标终端发送 的微服务调用请求时, 根据公网网络协议地址按 照第二预置负载均衡算法将微服务调用请求分 发到业务微服务; 当业务微服务之间进行链路调 用时, 调用区域标识相同的业务微服。
3、务。 本发明 通过基于eureka的区域zone机制, 结合负载均衡 算法, 实现对微服务调用请求分发, 提高微服务 集群流量分流正确率。 权利要求书3页 说明书13页 附图4页 CN 111464592 A 2020.07.28 CN 111464592 A 1.一种基于微服务的负载均衡方法, 其特征在于, 包括: 基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中, 并对所 述不同的机房分配对应的区域标识, 所述注册中心服务用于指示对多个预置微服务实例进 行注册, 所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务; 当接收到目标终端发送的域名解析请求时, 。
4、对所述域名解析请求进行解析, 得到域名 地址; 通过预置域名解析服务按照第一预置负载均衡算法对所述域名地址进行域名解析, 得 到公网网络协议地址, 并将所述公网网络协议地址发送到所述目标终端, 所述第一预置负 载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中; 当接收到所述目标终端发送的微服务调用请求时, 根据所述公网网络协议地址按照第 二预置负载均衡算法将所述微服务调用请求分发到所述业务微服务, 所述微服务调用请求 为所述目标终端根据所述公网网络协议地址生成的访问请求, 所述业务微服务采用任意一 个预置微服务实例进行链路调用和业务响应; 当所述业务微服务之间进行链路调用时,。
5、 调用所述区域标识相同的业务微服务。 2.根据权利要求1所述的基于微服务的负载均衡方法, 其特征在于, 所述基于服务发现 框架eureka将注册中心服务和业务微服务部署到不同的机房中, 并对所述不同的机房分配 对应的区域标识, 所述注册中心服务用于指示对多个预置微服务实例进行注册, 所述业务 微服务用于指示采用所述多个预置微服务实例提供业务服务, 包括: 基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中, 得到多 个预置微服务实例, 所述注册中心服务用于指示对所述多个预置微服务实例进行注册, 所 述业务微服务用于指示采用所述多个预置微服务实例提供业务服务; 对所述不同的。
6、机房分配对应的区域标识, 并将所述区域标识配置在所述不同的机房各 自的预置配置文件中; 重启所述注册中心服务和所述业务微服务, 将所述预置微服务实例注册到所述注册中 心服务中, 得到服务注册表, 所述服务注册表用于指示所述预置微服务实例的名称与所述 预置微服务实例的网络协议地址之间的映射关系。 3.根据权利要求2所述的基于微服务的负载均衡方法, 其特征在于, 所述通过预置域名 解析服务按照第一预置负载均衡算法对所述域名地址进行域名解析, 得到公网网络协议地 址, 并将所述公网网络协议地址发送到所述目标终端, 所述第一预置负载均衡算法用于指 示将所述域名地址按照预置权重分配到所述不同的机房中, 。
7、包括: 判断所述域名地址是否存在预置域名缓存记录中; 若所述域名地址存在所述预置域名缓存记录中, 则按照第一预置负载均衡算法从所述 预置解析记录中读取域名地址对应的公网网络协议地址, 所述第一预置负载均衡算法用于 指示将所述域名地址按照预置权重分配到所述不同的机房中; 若所述域名地址不存在所述预置域名缓存记录中, 则通过预置域名解析服务按照所述 第一预置负载均衡算法对所述域名地址进行域名解析, 得到所述公网网络协议地址, 并将 所述公网网络协议地址缓存到所述预置域名缓存记录中; 通过预置应用接口将所述公网网络协议地址发送到所述目标终端。 4.根据权利要求3所述的基于微服务的负载均衡方法, 其特。
8、征在于, 所述当接收到所述 权利要求书 1/3 页 2 CN 111464592 A 2 目标终端发送的微服务调用请求时, 根据所述公网网络协议地址按照第二预置负载均衡算 法将所述微服务调用请求分发到所述业务微服务, 所述微服务调用请求为所述目标终端根 据所述公网网络协议地址生成的访问请求, 所述业务微服务采用任意一个预置微服务实例 进行链路调用和业务响应, 包括: 当接收到所述目标终端发送的微服务调用请求时, 解析所述微服务调用请求, 得到所 述公网网络协议地址, 所述微服务调用请求为所述目标终端根据所述公网网络协议地址生 成的访问请求; 根据第二预置负载均衡算法对所述公网网络协议地址进行转。
9、换, 得到所述预置微服务 实例的私有地址; 根据所述预置微服务实例的私有地址进行链路调用和业务响应。 5.根据权利要求2所述的基于微服务的负载均衡方法, 其特征在于, 所述当所述业务微 服务之间进行链路调用时, 调用所述区域标识相同的业务微服务包括: 当所述业务微服务之间进行链路调用时, 确定待调用的业务微服务的名称, 并从所述 注册中心服务中获取所述服务注册表; 根据所述待调用的业务微服务的名称从服务注册表中获取多个预置微服务实例的网 络协议地址, 所述多个预置微服务实例属于相同的业务微服务; 从所述预置配置文件中确定所述多个预置微服务实例对应的区域标识; 根据所述网络协议地址按照预置流量分。
10、配机制调用所述区域标识相同的预置微服务 实例。 6.根据权利要求3所述的基于微服务的负载均衡方法, 其特征在于, 所述判断所述域名 地址是否存在预置域名缓存记录中包括: 根据所述域名地址查询预置域名缓存记录, 得到查询数据; 判断所述查询数据是否为空值; 若所述查询数据为所述空值, 则确定域名地址不存在预置域名缓存记录中; 若所述查询数据不为所述空值, 则确定所述域名地址存在所述预置域名缓存记录中。 7.根据权利要求1至6中任一项所述的基于微服务的负载均衡方法, 其特征在于, 所述 根据网络协议地址按照预置流量分配机制调用区域标识相同的业务微服务之后, 所述基于 微服务的负载均衡方法还包括: 。
11、按照预置时长定时发送探活请求到所述业务微服务的预置监控端点; 接收并解析所述预置监控端点返回的监控数据, 得到状态值; 当检测到所述状态值为目标值时, 确定所述业务微服务为正常存活状态; 当检测到所述状态值不为所述目标值或者发送的探活请求无响应时, 确定所述业务微 服务为宕机状态, 并通过所述预置域名解析服务清除所述业务微服务对应的公网网络协议 地址。 8.一种基于微服务的负载均衡装置, 其特征在于, 所述基于微服务的负载均衡装置包 括: 部署分配单元, 用于基于服务发现框架eureka将注册中心服务和业务微服务部署到不 同的机房中, 并对所述不同的机房分配对应的区域标识, 所述注册中心服务用。
12、于指示对多 个预置微服务实例进行注册, 所述业务微服务用于指示采用所述多个预置微服务实例提供 权利要求书 2/3 页 3 CN 111464592 A 3 业务服务; 第一解析单元, 当接收到目标终端发送的域名解析请求时, 用于对所述域名解析请求 进行解析, 得到域名地址; 第二解析单元, 用于通过预置域名解析服务按照第一预置负载均衡算法对所述域名地 址进行域名解析, 得到公网网络协议地址, 并将所述公网网络协议地址发送到所述目标终 端, 所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的 机房中; 分配单元, 当接收到所述目标终端发送的微服务调用请求时, 用于根据所述。
13、公网网络 协议地址按照第二预置负载均衡算法将所述微服务调用请求分发到所述业务微服务, 所述 微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求, 所述业务微 服务采用任意一个预置微服务实例进行链路调用和业务响应; 调用单元, 当所述业务微服务之间进行链路调用时, 用于调用所述区域标识相同的业 务微服务。 9.一种基于微服务的负载均衡设备, 其特征在于, 所述基于微服务的负载均衡设备包 括: 存储器和至少一个处理器, 所述存储器中存储有指令, 所述存储器和所述至少一个处理 器通过线路互联; 所述至少一个处理器调用所述存储器中的所述指令, 以使得所述基于微服务的负载均 衡设备执行如。
14、权利要求1-7中任意一项所述的基于微服务的负载均衡方法。 10.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机程序 被处理器执行时实现如权利要求1-7中任意一项所述的基于微服务的负载均衡方法。 权利要求书 3/3 页 4 CN 111464592 A 4 基于微服务的负载均衡方法、 装置、 设备及存储介质 技术领域 0001 本发明涉及流量分流领域, 尤其涉及基于微服务的负载均衡方法、 装置、 设备及存 储介质。 背景技术 0002 微服务架构是采用单应用程序开发一套小型服务, 每种应用程序均以各自的进程 运行, 并与轻量级机制进行通信, 这些微服务是围绕业务功能构。
15、建的, 通过全自动部署机制 进行独立部署和集中化管理。 0003 通过区域架构的升级, 采用同城多活保证业务系统在主机故障、 机房中断、 自然灾 害等情况下可持续运行, 获得生产环境的高稳定性, 实现业务系统零中断。 现有业内对于系 统同城多活的方案有很多, 例如, 采用虚拟服务器(Linux virtual server, LVS)和网络服 务器nginx结合的架构, 该架构可以满足单体业务系统的多活, 但在微服务群应用时, LVS通 常利用网关开放式最短路径优先(open shortest path first, OSPF)邻居来实现去除单一 节点, 按业务要求做流量分流策略控制, 导致很。
16、多业务出错率高, 例如, 将针对用户区域的 网络连接地址分配到不同机房的服务器中。 0004 另外, 在面对微服务群时, 微服务存在长链路的调用, LVS和nginx结合的架构能满 足链路入口处的微服务是多活的, 不能保证该调用链路的微服务多活, 会导致一个调用请 求多次跨机房调用, 导致网络专线资源消耗高。 发明内容 0005 本发明的主要目的在于解决了一个微服务的调用请求多次跨机房调用, 导致网络 专线资源消耗高以及微服务群流量分流正确率低的技术问题。 0006 为实现上述目的, 本发明第一方面提供了一种基于微服务的负载均衡方法, 包括: 基于服务发现框架eureka将注册中心服务和业务微。
17、服务部署到不同的机房中, 并对所述不 同的机房分配对应的区域标识, 所述注册中心服务用于指示对多个预置微服务实例进行注 册, 所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务; 当接收到目标 终端发送的域名解析请求时, 对所述域名解析请求进行解析, 得到域名地址; 通过预置域名 解析服务按照第一预置负载均衡算法对所述域名地址进行域名解析, 得到公网网络协议地 址, 并将所述公网网络协议地址发送到所述目标终端, 所述第一预置负载均衡算法用于指 示将所述域名地址按照预置权重分配到所述不同的机房中; 当接收到所述目标终端发送的 微服务调用请求时, 根据所述公网网络协议地址按照第二预置负载。
18、均衡算法将所述微服务 调用请求分发到所述业务微服务, 所述微服务调用请求为所述目标终端根据所述公网网络 协议地址生成的访问请求, 所述业务微服务采用任意一个预置微服务实例进行链路调用和 业务响应; 当所述业务微服务之间进行链路调用时, 调用所述区域标识相同的业务微服务。 0007 可选的, 在本发明第一方面的第一种实现方式中, 所述基于服务发现框架eureka 将注册中心服务和业务微服务部署到不同的机房中, 并对所述不同的机房分配对应的区域 说明书 1/13 页 5 CN 111464592 A 5 标识, 所述注册中心服务用于指示对多个预置微服务实例进行注册, 所述业务微服务用于 指示采用所。
19、述多个预置微服务实例提供业务服务, 包括: 基于服务发现框架eureka将注册 中心服务和业务微服务部署到不同的机房中, 得到多个预置微服务实例, 所述注册中心服 务用于指示对所述多个预置微服务实例进行注册, 所述业务微服务用于指示采用所述多个 预置微服务实例提供业务服务; 对所述不同的机房分配对应的区域标识, 并将所述区域标 识配置在所述机房各自的预置配置文件中; 重启所述注册中心服务和所述业务微服务, 将 所述预置微服务实例注册到所述注册中心服务中, 得到服务注册表, 所述服务注册表用于 指示所述预置微服务实例的名称与所述预置微服务实例的网络协议地址之间的映射关系。 0008 可选的, 在。
20、本发明第一方面的第二种实现方式中, 所述通过预置域名解析服务按 照第一预置负载均衡算法对所述域名地址进行域名解析, 得到公网网络协议地址, 并将所 述公网网络协议地址发送到所述目标终端, 所述第一预置负载均衡算法用于指示将所述域 名地址按照预置权重分配到所述不同的机房中, 包括: 判断所述域名地址是否存在预置域 名缓存记录中; 若所述域名地址存在所述预置域名缓存记录中, 则按照第一预置负载均衡 算法从所述预置解析记录中读取域名地址对应的公网网络协议地址, 所述第一预置负载均 衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中; 若所述域名地址 不存在所述预置域名缓存记录中, 则通过。
21、预置域名解析服务按照所述第一预置负载均衡算 法对所述域名地址进行域名解析, 得到所述公网网络协议地址, 并将所述公网网络协议地 址缓存到所述预置域名缓存记录中; 通过预置应用接口将所述公网网络协议地址发送到所 述目标终端。 0009 可选的, 在本发明第一方面的第三种实现方式中, 所述当接收到所述目标终端发 送的微服务调用请求时, 根据所述公网网络协议地址按照第二预置负载均衡算法将所述微 服务调用请求分发到所述业务微服务, 所述微服务调用请求为所述目标终端根据所述公网 网络协议地址生成的访问请求, 所述业务微服务采用任意一个预置微服务实例进行链路调 用和业务响应, 包括: 当接收到所述目标终端。
22、发送的微服务调用请求时, 解析所述微服务调 用请求, 得到所述公网网络协议地址, 所述微服务调用请求为所述目标终端根据所述公网 网络协议地址生成的访问请求; 根据第二预置负载均衡算法对所述公网网络协议地址进行 转换, 得到所述预置微服务实例的私有地址; 根据所述预置微服务实例的私有地址进行链 路调用和业务响应。 0010 可选的, 在本发明第一方面的第四种实现方式中, 所述当所述业务微服务之间进 行链路调用时, 调用所述区域标识相同的业务微服务包括: 当所述业务微服务之间进行链 路调用时, 确定待调用的业务微服务的名称, 并从所述注册中心服务中获取所述服务注册 表; 根据所述待调用的业务微服务。
23、的名称从服务注册表中获取多个预置微服务实例的网络 协议地址, 所述多个预置微服务实例属于相同的业务微服务; 从所述预置配置文件中确定 所述多个预置微服务实例对应的区域标识; 根据所述网络协议地址按照预置流量分配机制 调用所述区域标识相同的预置微服务实例。 0011 可选的, 在本发明第一方面的第五种实现方式中, 所述判断所述域名地址是否存 在预置域名缓存记录中包括: 根据所述域名地址查询预置域名缓存记录, 得到查询数据; 判 断所述查询数据是否为空值; 若所述查询数据为所述空值, 则确定域名地址不存在预置域 名缓存记录中; 若所述查询数据不为所述空值, 则确定所述域名地址存在所述预置域名缓 说。
24、明书 2/13 页 6 CN 111464592 A 6 存记录中。 0012 可选的, 在本发明第一方面的第六种实现方式中, 所述根据网络协议地址按照预 置流量分配机制调用区域标识相同的业务微服务之后, 所述基于微服务的负载均衡方法还 包括: 按照预置时长定时发送探活请求到所述业务微服务的预置监控端点; 接收并解析所 述预置监控端点返回的监控数据, 得到状态值; 当检测到所述状态值为目标值时, 确定所述 业务微服务为正常存活状态; 当检测到所述状态值不为所述目标值或者发送的探活请求无 响应时, 确定所述业务微服务为宕机状态, 并通过所述预置域名解析服务清除所述业务微 服务对应的公网网络协议地。
25、址。 0013 本发明第二方面提供了一种基于微服务的负载均衡装置, 包括: 部署分配单元, 用 于基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中, 并对所述 不同的机房分配对应的区域标识, 所述注册中心服务用于指示对多个预置微服务实例进行 注册, 所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务; 第一解析单 元, 当接收到目标终端发送的域名解析请求时, 用于对所述域名解析请求进行解析, 得到域 名地址; 第二解析单元, 用于通过预置域名解析服务按照第一预置负载均衡算法对所述域 名地址进行域名解析, 得到公网网络协议地址, 并将所述公网网络协议地址发送到所。
26、述目 标终端, 所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不 同的机房中; 分配单元, 当接收到所述目标终端发送的微服务调用请求时, 用于根据所述公 网网络协议地址按照第二预置负载均衡算法将所述微服务调用请求分发到所述业务微服 务, 所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求, 所 述业务微服务采用任意一个预置微服务实例进行链路调用和业务响应; 调用单元, 当所述 业务微服务之间进行链路调用时, 用于调用所述区域标识相同的业务微服务。 0014 可选的, 在本发明第二方面的第一种实现方式中, 所述部署分配单元具体用于: 基 于服务发现框架e。
27、ureka将注册中心服务和业务微服务部署到不同的机房中, 得到多个预置 微服务实例, 所述注册中心服务用于指示对所述多个预置微服务实例进行注册, 所述业务 微服务用于指示采用所述多个预置微服务实例提供业务服务; 对所述不同的机房分配对应 的区域标识, 并将所述区域标识配置在所述机房各自的预置配置文件中; 重启所述注册中 心服务和所述业务微服务, 将所述预置微服务实例注册到所述注册中心服务中, 得到服务 注册表, 所述服务注册表用于指示所述预置微服务实例的名称与所述预置微服务实例的网 络协议地址之间的映射关系。 0015 可选的, 在本发明第二方面的第二种实现方式中, 所述第二解析单元还包括: 。
28、判断 子单元, 用于判断所述域名地址是否存在预置域名缓存记录中; 读取子单元, 若所述域名地 址存在所述预置域名缓存记录中, 则用于按照第一预置负载均衡算法从所述预置解析记录 中读取域名地址对应的公网网络协议地址, 所述第一预置负载均衡算法用于指示将所述域 名地址按照预置权重分配到所述不同的机房中; 解析缓存子单元, 若所述域名地址不存在 所述预置域名缓存记录中, 则用于通过预置域名解析服务按照所述第一预置负载均衡算法 对所述域名地址进行域名解析, 得到所述公网网络协议地址, 并将所述公网网络协议地址 缓存到所述预置域名缓存记录中; 发送子单元, 用于通过预置应用接口将所述公网网络协 议地址发。
29、送到所述目标终端。 0016 可选的, 在本发明第二方面的第三种实现方式中, 所述分配单元具体用于: 当接收 说明书 3/13 页 7 CN 111464592 A 7 到所述目标终端发送的微服务调用请求时, 解析所述微服务调用请求, 得到所述公网网络 协议地址, 所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请 求; 根据第二预置负载均衡算法对所述公网网络协议地址进行转换, 得到所述预置微服务 实例的私有地址; 根据所述预置微服务实例的私有地址进行链路调用和业务响应。 0017 可选的, 在本发明第二方面的第四种实现方式中, 所述调用单元具体用于: 当所述 业务微服务之间。
30、进行链路调用时, 确定待调用的业务微服务的名称, 并从所述注册中心服 务中获取所述服务注册表; 根据所述待调用的业务微服务的名称从服务注册表中获取多个 预置微服务实例的网络协议地址, 所述多个预置微服务实例属于相同的业务微服务; 从所 述预置配置文件中确定所述多个预置微服务实例对应的区域标识; 根据所述网络协议地址 按照预置流量分配机制调用所述区域标识相同的预置微服务实例。 0018 可选的, 在本发明第二方面的第五种实现方式中, 所述判断子单元具体用于: 根据 所述域名地址查询预置域名缓存记录, 得到查询数据; 判断所述查询数据是否为空值; 若所 述查询数据为所述空值, 则确定域名地址不存在。
31、预置域名缓存记录中; 若所述查询数据不 为所述空值, 则确定所述域名地址存在所述预置域名缓存记录中。 0019 可选的, 在本发明第二方面的第六种实现方式中, 所述基于微服务的负载均衡装 置还包括: 发送单元, 用于按照预置时长定时发送探活请求到所述业务微服务的预置监控 端点; 接收单元, 用于接收并解析所述预置监控端点返回的监控数据, 得到状态值; 确定单 元, 当检测到所述状态值为目标值时, 用于确定所述业务微服务为正常存活状态; 清除单 元, 当检测到所述状态值不为所述目标值或者发送的探活请求无响应时, 用于确定所述业 务微服务为宕机状态, 并通过所述预置域名解析服务清除所述业务微服务对。
32、应的公网网络 协议地址。 0020 本发明第三方面提供了一种基于微服务的负载均衡设备, 包括: 存储器和至少一 个处理器, 所述存储器中存储有指令, 所述存储器和所述至少一个处理器通过线路互联; 所 述至少一个处理器调用所述存储器中的所述指令, 以使得所述基于微服务的负载均衡设备 执行上述的基于微服务的负载均衡方法。 0021 本发明的第四方面提供了一种计算机可读存储介质, 所述计算机可读存储介质中 存储有指令, 当其在计算机上运行时, 使得计算机执行上述的基于微服务的负载均衡方法。 0022 本发明提供的技术方案中, 基于服务发现框架eureka将注册中心服务和业务微服 务部署到不同的机房中。
33、, 并对所述不同的机房分配对应的区域标识, 所述注册中心服务用 于指示对多个预置微服务实例进行注册, 所述业务微服务用于指示采用所述多个预置微服 务实例提供业务服务; 当接收到目标终端发送的域名解析请求时, 对所述域名解析请求进 行解析, 得到域名地址; 通过预置域名解析服务按照第一预置负载均衡算法对所述域名地 址进行域名解析, 得到公网网络协议地址, 并将所述公网网络协议地址发送到所述目标终 端, 所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的 机房中; 当接收到所述目标终端发送的微服务调用请求时, 根据所述公网网络协议地址按 照第二预置负载均衡算法将所述微服务调。
34、用请求分发到所述业务微服务, 所述微服务调用 请求为所述目标终端根据所述公网网络协议地址生成的访问请求, 所述业务微服务采用任 意一个预置微服务实例进行链路调用和业务响应; 当所述业务微服务之间进行链路调用 时, 调用所述区域标识相同的业务微服务。 本发明实施例中, 通过基于服务发现框架eureka 说明书 4/13 页 8 CN 111464592 A 8 的区域zone机制, 结合域名解析服务器和预置负载均衡算法进行负载均衡, 实现对微服务 调用请求按照区域标识进行分发, 提高微服务集群流量分流正确率, 并降低网络专线资源 消耗。 附图说明 0023 图1为本发明实施例中基于微服务的负载均。
35、衡方法的一个实施例示意图; 0024 图2为本发明实施例中基于微服务的负载均衡方法的另一个实施例示意图; 0025 图3为本发明实施例中基于微服务的负载均衡装置的一个实施例示意图; 0026 图4为本发明实施例中基于微服务的负载均衡装置的另一个实施例示意图; 0027 图5为本发明实施例中基于微服务的负载均衡设备的一个实施例示意图。 具体实施方式 0028 本发明实施例提供了一种基于微服务的负载均衡方法、 装置、 设备及存储介质, 用 于通过基于服务发现框架eureka的区域zone机制, 结合域名解析服务器和预置负载均衡算 法进行负载均衡, 实现对微服务调用请求按照区域标识进行分发, 提高微。
36、服务集群流量分 流正确率, 并降低网络专线资源消耗。 0029 本发明的说明书和权利要求书及上述附图中的术语 “第一” 、“第二” 、“第三” 、“第 四” 等(如果存在)是用于区别类似的对象, 而不必用于描述特定的顺序或先后次序。 应该理 解这样使用的数据在适当情况下可以互换, 以便这里描述的实施例能够以除了在这里图示 或描述的内容以外的顺序实施。 此外, 术语 “包括” 或 “具有” 及其任何变形, 意图在于覆盖不 排他的包含, 例如, 包含了一系列步骤或单元的过程、 方法、 系统、 产品或设备不必限于清楚 地列出的那些步骤或单元, 而是可包括没有清楚地列出的或对于这些过程、 方法、 产品。
37、或设 备固有的其它步骤或单元。 0030 为便于理解, 下面对本发明实施例的具体流程进行描述, 请参阅图1, 本发明实施 例中基于微服务的负载均衡方法的一个实施例包括: 0031 101、 基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房 中, 并对不同的机房分配对应的区域标识, 注册中心服务用于指示对多个预置微服务实例 进行注册, 业务微服务用于指示采用多个预置微服务实例提供业务服务; 0032 可以理解的是, 本发明的执行主体可以为基于微服务的负载均衡装置, 还可以是 终端或者服务器, 具体此处不做限定。 本发明实施例以服务器为执行主体为例进行说明。 0033 服务器。
38、基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机 房中, 并对不同的机房分配对应的区域标识, 注册中心服务用于指示对多个预置微服务实 例进行注册, 业务微服务用于指示采用多个预置微服务实例提供业务服务。 其中, 一个业务 微服务对应多个预置微服务实例, 例如, 服务器基于服务发现框架eureka将注册中心服务 部署在两个机房, 包括观澜机房和西丽机房, 观澜机房简称gl, 西丽机房简称xl, gl机房和 xl机房各部署4个服务发现框架eureka实例, gl机房的区域标识为zone-1, xl机房的区域标 识为zone-2。 其中, 两个机房部署相同的业务微服务, 结合网络。
39、层、 主机层或应用的负载均 衡技术, 实现业务微服务在两个机房并行工作和负载分担, 同时互相实时灾备接管。 0034 102、 当接收目标终端发送的域名解析请求时, 对域名解析请求进行解析, 得到域 说明书 5/13 页 9 CN 111464592 A 9 名地址; 0035 当接收目标终端发送的域名解析请求时, 服务器对域名解析请求进行解析, 得到 域名地址, 其中, 域名地址为采用主机、 子域和域的形式表示的互联网地址, 与数字表示的 网络协议地址相对。 域名地址也称作完全限定域名, 通过域名解析将域名地址翻译为该域 名所对应的网络协议地址后, 才能正常连接目标服务器, 其中, 网络协议。
40、地址包括对应的端 口号。 0036 103、 通过预置域名解析服务按照第一预置负载均衡算法对域名地址进行域名解 析, 得到公网网络协议地址, 并将公网网络协议地址发送到目标终端, 第一预置负载均衡算 法用于指示将域名地址按照预置权重分配到不同的机房中; 0037 服务器通过预置域名解析服务按照第一预置负载均衡算法对域名地址进行域名 解析, 得到公网网络协议地址, 并将公网网络协议地址发送到目标终端, 第一预置负载均衡 算法用于指示将域名地址按照预置权重分配到不同的机房中。 其中, 预置域名解析服务是 一个微服务系统管理机构, 维护微服务系统内的每个业务微服务的网络协议地址和主机名 的对应关系。。
41、 在预置域名解析服务中配置了多个记录, 如下所示: 0038 A 114.100.20.201:4201; 0039 A 114.100.20.202:4202; 0040 A 114.100.20.203:4203; 0041 目标终端发送域名解析请求A, 服务器通过预置域名解析服务根 据记录和第一预置负载均衡算法计算得到一个公网网络协议地址114.100.20.203:4201, 其中4201为端口号, 服务器将公网网络协议地址发送到目标终端, 目标终端根据该公网网 络协议地址再次发起微服务调用请求。 0042 可以理解的是, 针对每次域名解析请求, 服务器都会根据第一预置负载均衡算法 计。
42、算出一个公网网络协议地址并返回到目标终端, 该公网网络协议地址包括端口号, 这样 记录中配置多个服务器就可以构成一个集群, 并可以实现负载均衡。 0043 104、 当接收到目标终端发送的微服务调用请求时, 根据公网网络协议地址按照第 二预置负载均衡算法将微服务调用请求分发到业务微服务, 微服务调用请求为目标终端根 据公网网络协议地址生成的访问请求, 业务微服务采用任意一个预置微服务实例进行链路 调用和业务响应; 0044 当接收到目标终端发送的微服务调用请求时, 服务器根据公网网络协议地址按照 第二预置负载均衡算法将微服务调用请求分发到业务微服务, 微服务调用请求为目标终端 根据公网网络协议。
43、地址生成的访问请求, 业务微服务采用任意一个预置微服务实例进行链 路调用和业务响应。 其中, 第二预置负载均衡算法为预先根据业务微服务的数据流导向规 则和预置业务微服务的优先级设置的负载均衡分发算法, 实现流量分配。 具体的, 服务器根 据第二预置负载均衡算法对公网网络协议地址进行负载处理, 得到预置微服务实例的私有 地址, 然后, 服务器根据预置微服务实例的私有地址进行链路调用和业务响应, 实现对微服 务调用请求与业务微服务之间建立会话, 提高多个预置微服务实例的服务性能。 0045 105、 当业务微服务之间进行链路调用时, 调用区域标识相同的业务微服务。 0046 当机房内的业务微服务进。
44、行链路调用时, 服务器调用区域标识相同的业务微服 务, 也就是服务器会调用同一区域标识内的预置微服务实例。 可以理解的是, 不同的机房划 说明书 6/13 页 10 CN 111464592 A 10 分为不同的区域, 不同的区域层面的负载均衡, 按照就近原则进行调度; 机房或集群内部的 负载均衡, 则主要实现流量均摊和合理利用资源。 0047 需要说明的是, 跨机房灾备的架构, 通常会在相距预置公里范围以内的同座城市 建设灾备数据中心, 应对机房级别的故障。 在同城的数据中心之间, 一般通过高速光纤相 连, 在网络带宽有保障的前提下, 网络延迟一般在可接受范围内, 不同的机房之间可以认为 在。
45、同一个局域网内。 0048 本发明实施例中, 通过基于服务发现框架eureka的区域zone机制, 结合域名解析 服务器和预置负载均衡算法进行负载均衡, 实现对微服务调用请求按照区域标识进行分 发, 提高微服务集群流量分流正确率, 并降低网络专线资源消耗。 0049 请参阅图2, 本发明实施例中基于微服务的负载均衡方法的另一个实施例包括: 0050 201、 基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房 中, 得到多个预置微服务实例, 注册中心服务用于指示对多个预置微服务实例进行注册, 业 务微服务用于指示采用多个预置微服务实例提供业务服务; 0051 服务器基于服务。
46、发现框架eureka将注册中心服务和业务微服务部署到不同的机 房中, 得到多个预置微服务实例, 注册中心服务用于指示对多个预置微服务实例进行注册, 业务微服务用于指示采用多个预置微服务实例提供业务服务。 其中, eureka为全局关键分 布式系统提供服务注册和发现功能。 当一个业务微服务失败、 脱机或者无法访问时, 另一个 业务微服务快速启动并在不同的位置替换它。 0052 需要说明的是, 预置微服务实例通过eureka进行注册, 微服务调用方通过eureka 查询业务微服务。 由于业务微服务采用集群方式提供服务, eureka也采用集群的方式来提 供服务的注册与发现, 集群中的eureka实。
47、例之间可以进行数据同步, 所有eureka实例中的 服务注册信息都是同步的。 其中, 集群就是将相同业务微服务部署在相同机房不同服务器 上。 0053 202、 对不同的机房分配对应的区域标识, 并将区域标识配置在不同的机房各自的 预置配置文件中; 0054 服务器对不同的机房分配对应的区域标识, 并将区域标识配置在不同的机房各自 的预置配置文件中。 其中, 预置配置文件为bootstrap.properties文件, 例如, 在机房1的微 服务中, 在预置配置文件中配置txt记录的区域zone为zone-1, 在机房2微服务中, 在预置配 置 文 件中 配 置 t x t 记 录的 z o 。
48、n e 为 z o n e - 2 ; 在 机 房各自 的 预 置 配 置 文 件中 将 e u r e k a .i n s t a n c e .m e t a d a t a - m a p .z o n e 属 性 配 置 为 区 域 标 识 , 其 中 , eureka.instance.metadata-map.zone用于指示当前业务微服务实例属于哪个zone。 0055 203、 重启注册中心服务和业务微服务, 将预置微服务实例注册到注册中心服务 中, 得到服务注册表, 服务注册表用于指示预置微服务实例的名称与预置微服务实例的网 络协议地址之间的映射关系; 0056 服务器重启。
49、注册中心服务和业务微服务, 将预置微服务实例注册到注册中心服务 中, 得到服务注册表, 服务注册表用于指示预置微服务实例的名称与预置微服务实例的网 络协议地址之间的映射关系。 进一步地, 服务器根据区域标识将不同的机房划分为多个区 域多个集群, 这些集群共用同一个eureka集群。 具体的, 当检测到注册中心服务和业务微服 务启动时, 服务器将预置微服务实例各自的网络协议地址和微服务实例名称注册到注册中 说明书 7/13 页 11 CN 111464592 A 11 心服务中; 当检测到预置微服务实例启动后, 服务器按照预置时长向注册中心发送心跳, 预 置时长为30s; 当检测到注册中心服务在。
50、预置时长范围内没有接收到某个预置微服务实例 的心跳时, 将会注销该预置微服务实例, 该预置时长范围内为90s; 多个eureka实例互相之 间通过复制的方式, 实现服务注册表中数据的同步。 也就是任意一个预置微服务实例被启 动后, 将其对应的网络协议地址和微服务实例名称写入到服务注册表中, 当该预置服务实 例运行终止时, 服务器通过注册中心服务从服务注册表中删除相应的网络协议地址, 进一 步地, 服务注册表通过心跳机制动态刷新。 0057 举例说明, 分区在zone-1和分区zone-2分别包括一个注册中心服务server1和 server2, 业务微服务A的4个预置微服务实例A1、 A2、 。
- 内容关键字: 基于 微服 负载 均衡 方法 装置 设备 存储 介质
阻燃B1级高耐热节能环保型聚丙烯绝缘电力电缆.pdf
电池加解锁RGV.pdf
可自动调节加工设备位置的制袋机.pdf
高压变压器、高压发生器和医学影像设备.pdf
铝管密封接头一体成型装置.pdf
汽车分动器控制电路.pdf
护理垫包装生产线的推料装置.pdf
桥梁建设用预制混凝土运输装置.pdf
水泵电机零件试压装置.pdf
折叠式便携首饰盒.pdf
河道防汛水位预警装置.pdf
高压、大流量先导式电磁阀防冲开结构.pdf
半圆形光纤传感器.pdf
环氧树脂分离提纯装置.pdf
计时器.pdf
钢制骨架剪切机.pdf
基于斜滑块的转盘式封口机真空室升降定位高度调节机构.pdf
电加热系统用加热器结构.pdf
拼接式石墨型模具.pdf
波码通信井下智能配水器.pdf
钢波纹管涵内临时支撑装置.pdf
传动式钢材加工成型机.pdf
微纳米复合高稳定性超双疏金属防腐缓蚀材料的制备方法.pdf
血管介入手术机器人.pdf
基于语义元数据的二次模糊搜索方法.pdf
基于污泥焚烧灰渣的复合材料及其制备方法.pdf
矿浆品位仪的压榨装置及滤饼压榨方法.pdf
余热回收蒸汽发生系统.pdf
云计算虚拟网络系统、及其使用方法、装置、设备及介质.pdf
基于潜在扩散模型的双目图像生成方法及系统.pdf
新型船用金属复合板的爆炸焊接制备方法.pdf
脱硫废液蒸发系统以及方法.pdf
全自动煎蛋贩售机的运蛋机构.pdf
LCD液晶模组上用的扩散膜.pdf
基于污水检测用取样装置.pdf
数控机床刀头夹具.pdf
路桥用抗震型的太阳能LED灯.pdf
多功能的便捷测绘仪.pdf
加固型计算机的散热装置.pdf
微型服务器用托盘.pdf
思想政治教育宣传栏.pdf
新型闸机.pdf
远距离传输的报警控制系统.pdf
加强型钢结构连接件.pdf
散热效果好的数字电视机顶盒.pdf
全IP化数字电视有条件接收系统.pdf
复合开关.pdf
基于物联网的智能工业安防弱电监控装置.pdf
建筑工程用施工现场环境监测装置.pdf
LED路灯散热灯罩.pdf
便于安装的LED显示屏.pdf