- 发布于
系统设计备忘录
- 作者

- 姓名
- AbnAsia.org
- @steven_n_t
我们经常被要求设计高可用性、高可扩展性和高吞吐量的系统。它们到底是什么意思?

以下图表是一个系统设计备忘录,包含常见的解决方案。
- 高可用性 这意味着我们需要确保系统的可用性达到一个高的水平。我们经常将设计目标描述为“3 个 9”或“4 个 9”。“4 个 9”,即 99.99% 的可用性,意味着服务每天只能停机 8.64 秒。
为了实现高可用性,我们需要在系统中设计冗余。有几种方法可以实现这一点:
热热(Hot-hot):两个实例接收相同的输入,并将输出发送到下游服务。在一侧停机的情况下,另一侧可以立即接管。由于两侧都发送输出到下游,因此下游系统需要去重。
热温(Hot-warm):两个实例接收相同的输入,只有热侧发送输出到下游服务。在热侧停机的情况下,温侧接管并开始发送输出到下游服务。
单主集群(Single-leader cluster):一个主实例接收来自上游系统的数据,并复制到其他副本。
无主集群(Leaderless cluster):这种集群没有主实例。任何写入都会复制到其他实例。只要写入实例的数量加上读取实例的数量大于总实例数量,我们就应该得到有效的数据。
- 高吞吐量 这意味着服务需要在一段时间内处理大量的请求。常用的指标是每秒请求数(QPS)或每秒事务数(TPS)。
为了实现高吞吐量,我们经常在架构中添加缓存,以便请求可以返回而不需要访问速度较慢的 I/O 设备,如数据库或磁盘。我们还可以增加计算密集型任务的线程数量。但是,添加过多的线程会降低性能。然后,我们需要识别系统中的瓶颈并增加其吞吐量。使用异步处理通常可以有效地隔离重负荷组件。
- 高可扩展性 这意味着系统可以快速和轻松地扩展以适应更多的容量(水平可扩展性)或更多的功能(垂直可扩展性)。通常我们监视响应时间来决定是否需要扩展系统。
请注意,中文版本是由 AI 辅助翻译的,因此可能存在细微错误。
作者
Ai Base Network (ABN), ABN ASIA由具有深厚学术背景的人员创立,他们在美国、荷兰、匈牙利、日本、韩国、新加坡和越南等国家有工作经验。ABN Asia是学术界和技术相遇的地方。凭借我们领先的解决方案和优秀的软件开发服务,我们帮助企业提升水平,走向全球舞台。我们的承诺:更快。更好。更可靠。在大多数情况下:也更便宜。
无论您需要IT服务、数字咨询、现成软件解决方案,还是想向我们发送招标要求(RFPs),都请随时与我们联系。您可以通过[email protected]与我们联系。我们随时准备为您提供所有技术需求的帮助。

© ABN ASIA