在这篇文章中,我们将讨论以下话题:

  • Redis 的五大用途
  • 常见负载均衡算法
  • VPN 类型
  • 可能的实验平台架构

Redis 的五大用途

大多数人认为 Redis 只用于缓存。

但 Redis 能做的远不止这些。它适用于:

  • 会话存储
  • 分布式锁
  • 计数器
  • 速率限制器
  • 排名/排行榜

常见负载均衡算法

下图显示了 6 种常见算法。

静态算法

轮询(Round Robin) 客户端请求按顺序发送到不同的服务实例。服务通常要求是无状态的。

粘性轮询(Sticky Round-Robin) 这是轮询算法的改进。如果 Alice 的第一个请求发送到服务 A,后续请求也会发送到服务 A。

加权轮询(Weighted Round-Robin) 管理员可以为每个服务指定权重。权重较高的服务处理更多请求。

哈希(Hash) 此算法对传入请求的 IP 或 URL 应用哈希函数。请求根据哈希函数结果路由到相关实例。

动态算法

最少连接(Least Connections) 新请求发送到并发连接数最少的服务实例。

最少响应时间(Least Response Time) 新请求发送到响应时间最快的服务实例。

问题

  • 哪种算法最流行?
  • 我们可以使用其他属性进行哈希算法。例如,HTTP 头、请求类型、客户端类型等。你使用过什么属性?

VPN 类型

你以为你知道 VPN 如何工作?再想想!😳 它非常复杂。

实验平台架构

下图描绘了一个潜在实验平台的架构。此视觉内容来自书籍:“Trustworthy Online Controlled Experiments”(我重绘的)。该平台包含 4 个高级组件。

  • 通过 UI 进行实验定义、设置和管理。它们存储在实验系统配置中
  • 实验部署到服务器端和客户端(涵盖变体分配和参数化)
  • 实验工具化
  • 实验分析

本书作者 Ronny Kohavi 还教授关于通过 A/B 测试加速创新的直播 Zoom 课程。该课程侧重于概念、文化、信任、限制和自建 vs. 购买。

本文为学习目的的个人翻译,译文仅供参考。

原文链接:EP47: Common Load-balancing Algorithms

版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。