更好的负载平衡:实时动态子集
Overview
概述
Subsetting is a common technique used in load balancing for large-scale distributed systems. In this blog post, we will briefly introduce Uber’s current service mesh architecture that has been powering thousands of critical microservices in Uber since 2016. We will then discuss the challenges we faced when trying to scale the number of tasks in the mesh and issues with our initial subsetting approach. We’ll finish with how we came up with the real-time dynamic subsetting solution and its results in production.
子集是大规模分布式系统的负载均衡中常用的一种技术。在这篇博文中,我们将简要介绍Uber目前的服务网状结构,该结构自2016年以来一直在为Uber中的数千个关键微服务提供动力。然后,我们将讨论我们在试图扩展网状结构中的任务数量时所面临的挑战,以及我们最初的子集方法的问题。最后,我们将介绍我们如何提出实时动态子集解决方案及其在生产中的结果。
Dictionary
词典
Here are a few generic terms that we’ll be using throughout the article:
以下是我们将在文章中使用的几个通用术语。
- A (micro) service: a routable deployment unit, consisting of multiple tasks, exposing procedures, and initiating calls (e.g., “User Profile Service”)
- 一个(微型)服务:一个可路由的部署单元,由多个任务组成,暴露程序,并启动调用(例如,"用户资料服务")。
- Procedure: a unit of work exposed by a microservice (e.g., “add user”)
- 程序:由微服务暴露的工作单元(例如,"添加用户")。
- Call: (i.e., request, query, RPC – Remote Procedure Call) a single procedure execution at a time
- 调用:(即请求、查询、RPC--远程程序调用)一次执行一个程序。
- Load: measure of business of a given task, which could refer to different metrics, like traffic load or CPU load
- 负载:衡量一个特定任务的业务,它可以指不同的指标,如流量负载或CPU负载。
- Traffic: (i.e., traffic load) the amount of work sent to either a service or a task, typically expressed in Queries Per Second (QPS)
- 流量:(即流量负荷)发送到服务或任务的工作量,通常以每秒查询次数(QPS)表示。
- CPU load: the amount of CPU time a given task requires to handle the traffic load
- CPU负载:一个特定的任务需要多少CPU时间来处理流量负载
- Task: (i.e., instance) one of the identical copies of a service, deployed on multiple hosts, typically as a docker container
- 任务:(即实例)一个相同的服务副本,部署在多个主机上,通常是作为一个docker容器。
- Host: a physical machine, typically hosting collocated tasks of multiple independent services
- 主机:一台物理机器,通常承载多个独立服务的协同任务
- Task pool: a logical grouping of tasks of the same service, typically ...