在这篇文章中,我们将讨论以下话题:
- 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。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。