基于深度强化学习的微服务链动态负载均衡算法

DYNAMIC LOAD BALANCING ALGORITHM OF MICROSERVICE CHAIN BASED ON DEEP REINFORCEMENT LEARNING

  • 摘要: 越来越多的云服务选择从单体架构转向微服务架构。在微服务架构下,请求会经过多个微服务,从而形成一条微服务链。多条微服务链之间存在资源竞争关系,单一微服务的阻塞可能影响任意相关微服务链并导致超时,从而违反用户请求的服务级别目标(Service Level Objectives, SLO)。提出一种融合服务网络与深度强化学习的微服务链动态负载均衡算法,可以在面对动态变化的负载时,尽最大可能不违反用户预期。实验结果表明,基于服务网络的微服务链将分模块相较于已有方法取得了10倍以上的性能提升,而负载均衡算法比基准方法至少减少了46%的SLO违规。

     

    Abstract: More and more cloud services are shifting from monolithic architecture to microservice architecture. Under the microservice architecture, requests will traverse multiple microservices to form a microservice chain. Multiple microservice chains may compete for resources, and the block of a single microservice may be transmitted to any related microservice chain and result in timeout, thus violating the service level objectives (SLO) requested by the user. This paper proposes a dynamic load balancing algorithm for microservice chains that integrates service mesh and deep reinforcement learning, which can satisfy user expectations as much as possible in the face of dynamically changing loads. Experimental results show that the performance of service-mesh based microservice chain split module is improved by more than 10 times compared with the existing methods, and the load balancing algorithm can reduce SLO violations by at least 46% comparewith the benchmark method.

     

/

返回文章
返回