CN118138632A - 一种微服务架构的扩展处理方法和*** - Google Patents
一种微服务架构的扩展处理方法和*** Download PDFInfo
- Publication number
- CN118138632A CN118138632A CN202410551644.3A CN202410551644A CN118138632A CN 118138632 A CN118138632 A CN 118138632A CN 202410551644 A CN202410551644 A CN 202410551644A CN 118138632 A CN118138632 A CN 118138632A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- performance
- bottleneck
- determining
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 7
- 238000012544 monitoring process Methods 0.000 claims abstract description 17
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 25
- 230000015556 catabolic process Effects 0.000 claims description 23
- 238000006731 degradation reaction Methods 0.000 claims description 23
- 230000001360 synchronised effect Effects 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 6
- 230000036541 health Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000012550 audit Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 4
- 230000004044 response Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种微服务架构的扩展处理方法和***,涉及数据处理技术领域,包括部署监控工具收集***的性能数据以确定***瓶颈,根据业务流程图和***瓶颈确定需拓展服务;基于业务需求构建目标函数,通过目标函数确定拆解粒度,对需拓展服务进行拆分,得到多个微服务;分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存;通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略;对微服务实施限流和熔断机制。保证了微服务架构扩展的适应性和精度,提高了扩展效果。
Description
技术领域
本申请涉及数据处理技术领域,更具体地,涉及一种微服务架构的扩展处理方法和***。
背景技术
随着互联网技术的快速发展,企业级应用的规模和复杂性也在不断增加。传统的单体架构在面临高并发、高可用性、高可扩展性等需求时,往往难以应对。微服务架构作为一种应对这些挑战的解决方案,逐渐成为企业级应用开发的主流架构。
微服务架构将一个大型应用程序拆分成多个小型、独立、可复用的服务。每个服务运行在其独立的进程中,并使用轻量级通信机制(如HTTP RESTful API)进行交互。这种架构使得每个服务都可以独立地部署、扩展和维护,从而提高了***的可伸缩性、可维护性和敏捷性。
然而,随着业务的发展和用户量的增长,微服务架构也面临着扩展的挑战。如何有效地扩展微服务,以满足不断增长的负载和业务需求,成为了一个重要的研究课题。
现有技术中,微服务架构扩展的适应性差、准确性低,拓展效果差。
因此,如何微服务架构扩展的适应性和准确性,是目前有待解决的技术问题。
发明内容
本发明提供一种微服务架构的扩展方法,用以解决现有技术中微服务架构扩展的适应性差、准确性低技术问题。所述方法包括:
部署监控工具收集***的性能数据以确定***瓶颈,根据业务流程图和***瓶颈确定需拓展服务;
基于业务需求构建目标函数,通过目标函数确定拆解粒度,对需拓展服务进行拆分,得到多个微服务;
分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存;
通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略;
对微服务实施限流和熔断机制。
本申请一些实施例中,部署监控工具收集***的性能数据以确定***瓶颈,包括:
根据性能数据类别收集每种性能数据一段对应时间内的随时间变化的性能曲线,得到实时性能曲线;
将实时性能曲线与预设的实时性能曲线的性能参数类别对应的标准性能曲线进行比对,得到纵向差异部分曲线;
将具有瓶颈关系的多个实时性能曲线进行时间刻度上的对齐后进行比对,基于性能参数大小和变化趋势确定多个实时性能曲线对应的横向同步部分曲线和横向非同步部分曲线;
根据同一性能数据涉及的共同的纵向差异部分曲线和横向同步部分曲线进行***瓶颈判定;
若单个或多个纵向差异部分曲线表征了某一瓶颈类别,且横向同步部分曲线同样表征了该瓶颈类别,则确定该瓶颈类别为***瓶颈;
若单个或多个纵向差异部分曲线表征了某一瓶颈类别,但横向同步部分曲线表征了另一瓶颈类别,则比对横向同步部分曲线和横向非同步部分曲线的强弱,若横向同步部分曲线强于横向非同步部分曲线,则将横向同步部分曲线表征的瓶颈类别作为***瓶颈,否则,将单个或多个纵向差异部分曲线表征的瓶颈类别作为***瓶颈。
本申请一些实施例中,根据业务流程图和***瓶颈确定需拓展服务,包括:
分析业务流程图中在预设距离内服务之间的依赖度和交互次数;
将依赖度超过对应阈值或交互次数超过对应阈值的服务组合成一个服务,得到一个新的业务流程图;
将存在***瓶颈的服务作为需拓展服务。
本申请一些实施例中,基于业务需求构建目标函数,包括:
通过业务需求确定多项需求指标,将多项需求指标划分成最大化需求指标和最小化需求指标;
通过最大化需求指标和最小化需求指标构建目标函数,并确定对应的约束条件从而求解;
;
其中,P为目标函数,为最大化需求对应的转换系数,n为最大化需求指标数量,为第i种最大化需求指标对应的权重,/>为第i种最大化需求指标,/>为最小化需求对应的转化系数,m为最小化需求指标数量,/>为第j种最小化需求指标对应的权重,/>为第j种最小化需求指标。
本申请一些实施例中,分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存,包括:
使用数据库审计、日志分析工具或APM工具来收集数据访问日志,确定数据访问模式;
从数据访问日志中提炼性能指标,并确定每个微服务的性能需求;
根据数据访问模式拓展对应的数据库,基于性能需求优化数据库配置;
通过数据访问模式确定对应的缓存策略。
本申请一些实施例中,通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略,包括:
将负载均衡器与消息队列进行集成,按照分发优先级将消息分发到服务实例中,分发优先级包括业务逻辑分发优先级和服务实例性能分发优先级;
确定业务逻辑对应的分发优先级,并确定各个服务实例的性能分发优先级;
业务逻辑对应的分发优先级优先于服务实例的性能分发优先级;
根据业务需求和***性能目标设置存储资源使用阈值,并定义自动伸缩规则;
选择自动伸缩库,配置自动伸缩控制器,当触发预定义的自动伸缩规则时,自动伸缩控制器将根据策略调整存储资源。
本申请一些实施例中,对微服务实施限流和熔断机制,包括:
选择限流算法,集成限流库,配置限流参数,在微服务入口点实现限流逻辑;
部署服务监控工具,监控***关键服务的健康状态,设置熔断逻辑和对应的降级策略,在服务调用链路中实现熔断逻辑,并提供降级策略。
本申请一些实施例中,选择限流算法,包括:
确定每种限流算法对应的流量模式、资源类型和***架构;
分析当前的流量模式、资源类型和***架构,从而确定对应限流算法。
本申请一些实施例中,设置熔断逻辑和对应的降级策略,包括:
识别导致服务不可用的所有故障模式,并定义降级条件和降级级别,以此实现降级逻辑。
对应的,本申请还提供了一种微服务架构的扩展处理***,包括:
第一模块,用于部署监控工具收集***的性能数据以确定***瓶颈,根据业务流程图和***瓶颈确定需拓展服务;
第二模块,用于基于业务需求构建目标函数,通过目标函数确定拆解粒度,对需拓展服务进行拆分,得到多个微服务;
第三模块,用于分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存;
第四模块,用于通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略;
第五模块,用于对微服务实施限流和熔断机制。
通过应用以上技术方案,部署监控工具收集***的性能数据以确定***瓶颈,根据业务流程图和***瓶颈确定需拓展服务;基于业务需求构建目标函数,通过目标函数确定拆解粒度,对需拓展服务进行拆分,得到多个微服务;分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存;通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略;对微服务实施限流和熔断机制。保证了微服务架构扩展的适应性和精度,提高了扩展效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提出的一种微服务架构的扩展处理方法的流程示意图;
图2示出了本发明实施例提出的一种微服务架构的扩展处理***的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种微服务架构的扩展方法,如图1所示,该方法包括以下步骤:
步骤S101,部署监控工具收集***的性能数据以确定***瓶颈,根据业务流程图和***瓶颈确定需拓展服务。
本实施例中,部署监控工具(如Prometheus、Grafana)来收集和分析***性能数据,根据业务情况和性能评估当前服务是否需要扩展。
本申请一些实施例中,部署监控工具收集***的性能数据以确定***瓶颈,包括:
根据性能数据类别收集每种性能数据一段对应时间内的随时间变化的性能曲线,得到实时性能曲线;
将实时性能曲线与预设的该性能参数类别对应的标准性能曲线进行比对,得到纵向差异部分曲线;
将具有瓶颈关系的多个实时性能曲线进行时间刻度上的对齐后进行比对,基于性能参数大小和变化趋势确定多个实时性能曲线对应的横向同步部分曲线和横向非同步部分曲线;
根据同一性能数据涉及的共同的纵向差异部分曲线和横向同步部分曲线进行***瓶颈判定;
若单个或多个纵向差异部分曲线表征了某一瓶颈类别,且横向同步部分曲线同样表征了该瓶颈类别,则确定该瓶颈类别为***瓶颈;
若单个或多个纵向差异部分曲线表征了某一瓶颈类别,但横向同步部分曲线表征了另一瓶颈类别,则比对横向同步部分曲线和横向非同步部分曲线的强弱,若横向同步部分曲线强于横向非同步部分曲线,则将横向同步部分曲线表征的瓶颈类别作为***瓶颈,否则,将单个或多个纵向差异部分曲线表征的瓶颈类别作为***瓶颈。
本实施例中,纵向差异部分曲线是该种性能参数与自己阈值相比,具有瓶颈关系的多个实时性能曲线,即多种性能共同涉及某一瓶颈,且这些性能变化具有一定关系。基于性能参数大小和变化趋势确定多个实时性能曲线对应的横向同步部分曲线和横向非同步部分曲线,通过参数和变化趋势两个方向确定符合关系的部分,符合则为横向同步部分曲线,不符合则横向非同步部分曲线。
本实施例中,纵向差异部分曲线和横向同步部分曲线表征同一瓶颈关系,则确定瓶颈关系,否则,确认横向同步部分曲线和横向非同步部分曲线之间强弱。这里的强弱,可以通过两种曲线占据整条曲线的程度来进行比较。
本申请一些实施例中,根据业务流程图和***瓶颈确定需拓展服务,包括:
分析业务流程图中在预设距离内服务之间的依赖度和交互次数;
将依赖度超过对应阈值或交互次数超过对应阈值的服务组合成一个服务,得到一个新的业务流程图;
将存在***瓶颈的服务作为需拓展服务。
步骤S102,基于业务需求构建目标函数,通过目标函数确定拆解粒度,对需拓展服务进行拆分,得到多个微服务。
本申请一些实施例中,基于业务需求构建目标函数,包括:
通过业务需求确定多项需求指标,将多项需求指标划分成最大化需求指标和最小化需求指标;
通过最大化需求指标和最小化需求指标构建目标函数,并确定对应的约束条件从而求解;
;
其中,P为目标函数,为最大化需求对应的转换系数,n为最大化需求指标数量,为第i种最大化需求指标对应的权重,/>为第i种最大化需求指标,/>为最小化需求对应的转化系数,m为最小化需求指标数量,/>为第j种最小化需求指标对应的权重,/>为第j种最小化需求指标。
本实施例中,最大化需求指标包括最大化的整体性能和维护程度,最小化需求指标包括最小化的成本和复杂性。
本实施例中,约束条件根据以下内容综合而得:
业务逻辑完整性:
拆分后的服务应该保持业务逻辑的完整性,确保业务流程不受影响。
服务独立性:
每个服务应该是独立的,能够独立部署、扩展和升级。
团队自治:
服务应该对应于团队的组织结构,以便团队可以自主地开发和维护服务。
性能要求:
拆分后的服务应该满足性能要求,如响应时间、吞吐量等。
数据一致性:
拆分后的服务应该保持数据的一致性,尤其是在涉及多个服务的事务处理中。
成本效益:
拆分的成本(包括开发、运维和培训成本)应该在可接受的范围内。
最小服务大小:
服务应该足够大,以避免过小的服务造成资源浪费。
最大服务大小:
服务不应该过大,以避免过高的复杂性和维护成本。
通信成本:
服务之间的通信应该尽可能少,以减少***的整体复杂性和延迟。
技术可行性:
拆分方案应该考虑现有的技术栈和基础设施,确保技术可行性。
步骤S103,分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存。
本申请一些实施例中,分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存,包括:
使用数据库审计、日志分析工具或APM工具来收集数据访问日志,确定数据访问模式;
从数据访问日志中提炼性能指标,并确定每个微服务的性能需求;
根据数据访问模式拓展对应的数据库,基于性能需求优化数据库配置;
通过数据访问模式确定对应的缓存策略。
本实施例中,根据收集到的数据,识别常见的数据访问模式,如读多写少、写密集型、批量操作等。设定服务水平协议(SLA)以确保性能需求得到满足,根据性能需求,增加数据库服务器的CPU、内存、存储等资源。优化数据库配置,如调整缓冲区大小、连接池配置等。根据数据访问模式拓展对应的数据库,对于读密集型操作,可以考虑添加只读副本或使用数据库分片。对于写密集型操作,可以考虑主从复制或多主复制。根据数据访问模式,设计合适的缓存策略,如缓存热点数据、频繁访问的数据等。
步骤S104,通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略。
本实施例中,负载均衡可以与消息队列(如RabbitMQ、Kafka)结合使用,以实现服务间的异步通信和负载分发。在高负载情况下,消息队列可以帮助解耦服务,减轻单一服务的压力,而负载均衡可以确保消息被有效地分发到所有健康的服务实例。自动伸缩可以根据***负载和资源使用情况动态调整服务实例的数量。分布式文件存储***(如HDFS、Ceph)也可以根据需求自动扩展存储资源,提高数据的读写性能和***的可伸缩性。
本申请一些实施例中,通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略,包括:
将负载均衡器与消息队列进行集成,按照分发优先级将消息分发到服务实例中,分发优先级包括业务逻辑分发优先级和服务实例性能分发优先级;
确定业务逻辑对应的分发优先级,并确定各个服务实例的性能分发优先级;
业务逻辑对应的分发优先级优先于服务实例的性能分发优先级;
根据业务需求和***性能目标设置存储资源使用阈值,并定义自动伸缩规则;
选择自动伸缩库,配置自动伸缩控制器,当触发预定义的自动伸缩规则时,自动伸缩控制器将根据策略调整存储资源。
本实施例中,在服务架构中,负载均衡器可以与消息队列集成,确保消息按照业务逻辑和性能分发到所有服务实例。在某些业务场景中,根据业务逻辑和策略,可能需要对消息进行特定的分发。如果服务实例之间的性能或资源利用率存在差异,可能需要根据实例的实际能力来分配消息。自动伸缩可以根据分布式文件存储***的负载和性能指标来调整存储资源的数量。例如,当文件存储***的I/O请求增加时,自动伸缩可以增加存储节点的数量,以提高***的处理能力。设置阈值:根据业务需求和***性能目标,设置存储资源使用的阈值。例如,当存储使用率达到80%时,自动增加存储资源。规则定义:定义自动伸缩的规则,包括何时增加或减少资源,增加或减少的资源数量等。选择自动伸缩库:选择或开发能够与分布式文件存储***集成的自动伸缩库,如Horizontal Pod Autoscaler(HPA)与Kubernetes。配置自动伸缩控制器:配置自动伸缩控制器,使其能够根据监控数据和伸缩策略自动调整存储资源。
步骤S105,对微服务实施限流和熔断机制。
本申请一些实施例中,对微服务实施限流和熔断机制,包括:
选择限流算法,集成限流库,配置限流参数,在微服务入口点实现限流逻辑;
部署服务监控工具,监控***关键服务的健康状态,设置熔断逻辑和对应的降级策略,在服务调用链路中实现熔断逻辑,并提供降级策略。
本实施例中,根据***的实时负载和性能数据动态调整限流参数,如令牌生成速率或桶的大小。部署服务监控工具,如健康检查和异常检测机制,以监控服务实例的健康状态。确定服务不可用的阈值,如响应时间超过阈值或异常错误率超过阈值。当检测到服务不可用或性能下降时,熔断器可以暂时断开服务实例的连接,防止请求进一步堆积和服务雪崩。实现降级逻辑,如返回默认响应、重试机制或错误提示,以减少用户体验的负面影响。
本申请一些实施例中,选择限流算法,包括:
确定每种限流算法对应的流量模式、资源类型和***架构;
分析当前的流量模式、资源类型和***架构,从而确定对应限流算法。
本申请一些实施例中,设置熔断逻辑和对应的降级策略,包括:
识别导致服务不可用的所有故障模式,并定义降级条件和降级级别,以此实现降级逻辑。
本实施例中,确定每种限流算法对应的流量模式、资源类型和***架构。
流量模式:
如果流量模式是突发性的,可能需要使用令牌桶算法来平滑流量。
如果流量是持续且均匀的,漏桶算法可能更适合。
资源类型:
对于CPU密集型的应用,可能需要根据CPU使用率来限流。
对于IO密集型的应用,可能需要根据磁盘读写速度或网络带宽来限流。
***架构:
如果***是分布式架构,需要确保限流算法在不同节点上可以协同工作。
如果***是微服务架构,可能需要在每个服务入口点实现限流。
需要说明的是,上述流量模式、资源类型和***架构仅为部分实例,也可以包括其它实例,在此不做具体限定。
本实施例中,识别可能导致服务不可用的故障模式,如数据库连接失败、外部服务调用超时等。根据故障模式定义触发降级的条件,如服务响应时间超过阈值、异常错误率超过阈值等。确定不同的降级级别,如轻微降级、中等降级和严重降级,每个级别对应不同的处理策略。
降级逻辑包括但不限于以下内容:
返回默认响应:设计返回默认数据的逻辑,如默认的产品信息、静态页面等。
实现重试机制:设计服务重试逻辑,包括重试次数、重试间隔时间等。
提供错误提示:设计用户友好的错误提示信息,如服务暂时不可用、请稍后再试等。
通过应用以上技术方案,部署监控工具收集***的性能数据以确定***瓶颈,根据业务流程图和***瓶颈确定需拓展服务;基于业务需求构建目标函数,通过目标函数确定拆解粒度,对需拓展服务进行拆分,得到多个微服务;分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存;通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略;对微服务实施限流和熔断机制。保证了微服务架构扩展的适应性和精度,提高了扩展效果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
对应的,本申请还提供了一种微服务架构的扩展处理***,如图2所示,包括:
第一模块,用于部署监控工具收集***的性能数据以确定***瓶颈,根据业务流程图和***瓶颈确定需拓展服务;
第二模块,用于基于业务需求构建目标函数,通过目标函数确定拆解粒度,对需拓展服务进行拆分,得到多个微服务;
第三模块,用于分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存;
第四模块,用于通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略;
第五模块,用于对微服务实施限流和熔断机制。
本领域技术人员可以理解实施场景中的***中的模块可以按照实施场景描述进行分布于实施场景的***中,也可以进行相应变化位于不同于本实施场景的一个或多个***中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种微服务架构的扩展处理方法,其特征在于,包括:
部署监控工具收集***的性能数据以确定***瓶颈,根据业务流程图和***瓶颈确定需拓展服务;
基于业务需求构建目标函数,通过目标函数确定拆解粒度,对需拓展服务进行拆分,得到多个微服务;
分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存;
通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略;
对微服务实施限流和熔断机制。
2.如权利要求1所述的微服务架构的扩展处理方法,其特征在于,部署监控工具收集***的性能数据以确定***瓶颈,包括:
根据性能数据类别收集每种性能数据一段对应时间内的随时间变化的性能曲线,得到实时性能曲线;
将实时性能曲线与预设的实时性能曲线的性能参数类别对应的标准性能曲线进行比对,得到纵向差异部分曲线;
将具有瓶颈关系的多个实时性能曲线进行时间刻度上的对齐后进行比对,基于性能参数大小和变化趋势确定多个实时性能曲线对应的横向同步部分曲线和横向非同步部分曲线;
根据同一性能数据涉及的共同的纵向差异部分曲线和横向同步部分曲线进行***瓶颈判定;
若单个或多个纵向差异部分曲线表征了某一瓶颈类别,且横向同步部分曲线同样表征了该瓶颈类别,则确定该瓶颈类别为***瓶颈;
若单个或多个纵向差异部分曲线表征了某一瓶颈类别,但横向同步部分曲线表征了另一瓶颈类别,则比对横向同步部分曲线和横向非同步部分曲线的强弱,若横向同步部分曲线强于横向非同步部分曲线,则将横向同步部分曲线表征的瓶颈类别作为***瓶颈,否则,将单个或多个纵向差异部分曲线表征的瓶颈类别作为***瓶颈。
3.如权利要求2所述的微服务架构的扩展处理方法,其特征在于,根据业务流程图和***瓶颈确定需拓展服务,包括:
分析业务流程图中在预设距离内服务之间的依赖度和交互次数;
将依赖度超过对应阈值或交互次数超过对应阈值的服务组合成一个服务,得到一个新的业务流程图;
将存在***瓶颈的服务作为需拓展服务。
4.如权利要求1所述的微服务架构的扩展处理方法,其特征在于,基于业务需求构建目标函数,包括:
通过业务需求确定多项需求指标,将多项需求指标划分成最大化需求指标和最小化需求指标;
通过最大化需求指标和最小化需求指标构建目标函数,并确定对应的约束条件从而求解;
;
其中,P为目标函数,为最大化需求对应的转换系数,n为最大化需求指标数量,/>为第i种最大化需求指标对应的权重,/>为第i种最大化需求指标,/>为最小化需求对应的转化系数,m为最小化需求指标数量,/>为第j种最小化需求指标对应的权重,/>为第j种最小化需求指标。
5.如权利要求1所述的微服务架构的扩展处理方法,其特征在于,分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存,包括:
使用数据库审计、日志分析工具或APM工具来收集数据访问日志,确定数据访问模式;
从数据访问日志中提炼性能指标,并确定每个微服务的性能需求;
根据数据访问模式拓展对应的数据库,基于性能需求优化数据库配置;
通过数据访问模式确定对应的缓存策略。
6.如权利要求1所述的微服务架构的扩展处理方法,其特征在于,通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略,包括:
将负载均衡器与消息队列进行集成,按照分发优先级将消息分发到服务实例中,分发优先级包括业务逻辑分发优先级和服务实例性能分发优先级;
确定业务逻辑对应的分发优先级,并确定各个服务实例的性能分发优先级;
业务逻辑对应的分发优先级优先于服务实例的性能分发优先级;
根据业务需求和***性能目标设置存储资源使用阈值,并定义自动伸缩规则;
选择自动伸缩库,配置自动伸缩控制器,当触发预定义的自动伸缩规则时,自动伸缩控制器将根据策略调整存储资源。
7.如权利要求1所述的微服务架构的扩展处理方法,其特征在于,对微服务实施限流和熔断机制,包括:
选择限流算法,集成限流库,配置限流参数,在微服务入口点实现限流逻辑;
部署服务监控工具,监控***关键服务的健康状态,设置熔断逻辑和对应的降级策略,在服务调用链路中实现熔断逻辑,并提供降级策略。
8.如权利要求7所述的微服务架构的扩展处理方法,其特征在于,选择限流算法,包括:
确定每种限流算法对应的流量模式、资源类型和***架构;
分析当前的流量模式、资源类型和***架构,从而确定对应限流算法。
9.如权利要求7所述的微服务架构的扩展处理方法,其特征在于,设置熔断逻辑和对应的降级策略,包括:
识别导致服务不可用的所有故障模式,并定义降级条件和降级级别,以此实现降级逻辑。
10.一种微服务架构的扩展处理***,其特征在于,包括:
第一模块,用于部署监控工具收集***的性能数据以确定***瓶颈,根据业务流程图和***瓶颈确定需拓展服务;
第二模块,用于基于业务需求构建目标函数,通过目标函数确定拆解粒度,对需拓展服务进行拆分,得到多个微服务;
第三模块,用于分析每个微服务的数据访问模式和性能需求,并扩展数据库和优化缓存;
第四模块,用于通过微服务的性能数据构建对应的弹性基础设施和自动伸缩策略;
第五模块,用于对微服务实施限流和熔断机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410551644.3A CN118138632A (zh) | 2024-05-07 | 2024-05-07 | 一种微服务架构的扩展处理方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410551644.3A CN118138632A (zh) | 2024-05-07 | 2024-05-07 | 一种微服务架构的扩展处理方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118138632A true CN118138632A (zh) | 2024-06-04 |
Family
ID=91230532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410551644.3A Pending CN118138632A (zh) | 2024-05-07 | 2024-05-07 | 一种微服务架构的扩展处理方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118138632A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5193151A (en) * | 1989-08-30 | 1993-03-09 | Digital Equipment Corporation | Delay-based congestion avoidance in computer networks |
WO2015002372A1 (en) * | 2013-07-02 | 2015-01-08 | Samsung Electronics Co., Ltd. | Power supply device, micro server having the same, and power supply method |
CN106330576A (zh) * | 2016-11-18 | 2017-01-11 | 北京红马传媒文化发展有限公司 | 容器化微服务自动伸缩及迁移调度的方法、***和设备 |
US20190098080A1 (en) * | 2017-09-22 | 2019-03-28 | Simon Bermudez | System and method for platform to securely distribute compute workload to web capable devices |
CN112199150A (zh) * | 2020-08-13 | 2021-01-08 | 北京航空航天大学 | 一种基于微服务调用依赖感知的在线应用动态扩缩容方法 |
CN114968563A (zh) * | 2022-05-16 | 2022-08-30 | 杭州电子科技大学 | 基于组合神经网络的微服务资源分配方法 |
-
2024
- 2024-05-07 CN CN202410551644.3A patent/CN118138632A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5193151A (en) * | 1989-08-30 | 1993-03-09 | Digital Equipment Corporation | Delay-based congestion avoidance in computer networks |
WO2015002372A1 (en) * | 2013-07-02 | 2015-01-08 | Samsung Electronics Co., Ltd. | Power supply device, micro server having the same, and power supply method |
CN106330576A (zh) * | 2016-11-18 | 2017-01-11 | 北京红马传媒文化发展有限公司 | 容器化微服务自动伸缩及迁移调度的方法、***和设备 |
US20190098080A1 (en) * | 2017-09-22 | 2019-03-28 | Simon Bermudez | System and method for platform to securely distribute compute workload to web capable devices |
CN112199150A (zh) * | 2020-08-13 | 2021-01-08 | 北京航空航天大学 | 一种基于微服务调用依赖感知的在线应用动态扩缩容方法 |
CN114968563A (zh) * | 2022-05-16 | 2022-08-30 | 杭州电子科技大学 | 基于组合神经网络的微服务资源分配方法 |
Non-Patent Citations (2)
Title |
---|
YANG YANG, ET AL.,: ""Application of Distributed Storage Technology for Financial Management and Control System in Electric Power System"", 《2017 16TH INTERNATIONAL SYMPOSIUM ON DISTRIBUTED COMPUTING AND APPLICATIONS TO BUSINESS, ENGINEERING AND SCIENCE(DCABES)》, 11 January 2018 (2018-01-11) * |
彭丽苹;吕晓丹;蒋朝惠;彭成辉;: "基于Docker的云资源弹性调度策略", 计算机应用, no. 02, 10 February 2018 (2018-02-10) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3637733B1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
US11226846B2 (en) | Systems and methods of host-aware resource management involving cluster-based resource pools | |
CN107430528B (zh) | 机会性资源迁移以优化资源放置 | |
CN108733509B (zh) | 用于在集群***中备份和恢复数据的方法和*** | |
CN108712464A (zh) | 一种面向集群微服务高可用的实现方法 | |
US7516221B2 (en) | Hierarchical management of the dynamic allocation of resources in a multi-node system | |
US7284146B2 (en) | Markov model of availability for clustered systems | |
US7035919B1 (en) | Method for calculating user weights for thin client sizing tool | |
US8533731B2 (en) | Apparatus and method for distrubuting complex events based on correlations therebetween | |
JP2005196601A (ja) | 自律管理システム向けポリシシミュレータ | |
US20070094343A1 (en) | System and method of implementing selective session replication utilizing request-based service level agreements | |
EP1654649B1 (en) | On demand node and server instance allocation and de-allocation | |
JP2008158628A (ja) | 運用実績評価装置、運用実績評価方法、およびプログラム | |
TWI725744B (zh) | 透過多層次相關性建立系統資源預測及資源管理模型的方法 | |
WO2020134364A1 (zh) | 一种虚拟机迁移方法、云计算管理平台和存储介质 | |
CN109873714B (zh) | 云计算节点配置更新方法及终端设备 | |
Rahmani et al. | Burst‐aware virtual machine migration for improving performance in the cloud | |
US9575854B1 (en) | Cascade failure resilient data storage | |
CN111858458A (zh) | 一种互联通道的调整方法、装置、***、设备和介质 | |
CN107040566A (zh) | 业务处理方法及装置 | |
TW201627873A (zh) | 用於在分散式計算中處理重發請求的方法與設備 | |
CN118138632A (zh) | 一种微服务架构的扩展处理方法和*** | |
Semmoud et al. | A Distributed Fault Tolerant Algorithm for Load Balancing in Cloud Computing Environments | |
CN113515524A (zh) | 一种分布式缓存接入层节点的自动动态分配方法及装置 | |
CN112612579A (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 |