系统设计备忘单 如何实现高可用性、高吞吐量和高可扩展性

小夏 科技 更新 2024-02-12

我们经常需要设计具有高可用性、高可扩展性和高吞吐量的系统。 它们到底是什么意思?

下图为复印件系统设计备忘单,包括“三高”的常见解决方案。

高可用性意味着我们需要达到一个正常运行时间长。我们通常将设计目标描述为:"3 个 9"或"4 个 9"。"4个九",即 9999% 的正常运行时间,这意味着服务只能中断 8 次64 秒。

为了实现高可用性,我们需要在系统中冗余设计。有几种方法可以做到这一点:

热-热 两个实例接收相同的输入,并将输出发送到下游服务。 如果其中一个出现故障,另一个可以立即接管。 由于双方都向下游发送输出,因此下游系统需要能够处理重复数据。

hot-warm两个实例接收相同的输入,只有热端将输出发送到下游服务。 如果热侧出现故障,则热侧将接管并开始向下游服务发送输出。

单个领导实例从上游系统接收数据,并将其复制到其他副本。

无领导的集群没有领导者。 任何写入操作都将复制到其他实例。 只要写入实例数加上读取实例数大于实例总数,我们就得到有效数据。 这称为仲裁。

这意味着需要该服务在一段时间内处理大量请求。常用的指标是 QPS(每秒查询数)或 TPS(每秒事务数)。

为了实现高吞吐量,我们通常在架构中进行添加缓存以避免通过速度较慢的 IO 设备,例如数据库或磁盘。 我们还可以增加计算密集型任务的线程数。 但是,添加过多的线程会降低性能。 因此,我们需要识别系统的瓶颈,提高系统的吞吐量。

我们也可以在系统中使用它异步处理有效地单独隔离耗时且资源密集型的组件。

高可扩展性意味着系统可以快速轻松地扩展到:容纳更多容量(水平可伸缩性)或更多功能(垂直可伸缩性)。 通常,我们通过查看响应时间来决定是否需要扩展系统。

为了实现高可扩展性,您需要隔离每个服务的职责。 因此,微服务被广泛采用。 我们还利用服务注册和负载均衡器将请求路由到适当的实例。

发布一系列龙卡,分享数百万现金

相似文章

    小程序开发 如何构建高并发、高可用的小程序后端

    小程序后端是小程序的重要组成部分,负责处理用户请求并提供相应服务。在小程序后端的开发中,如何构建一个高并发 高可用的后端是一个关键问题。本文将介绍一些构建高并发 高可用的小程序后端的技巧和策略。.选择正确的技术栈 选择合适的技术栈是构建高并发 高可用的小程序后端的关键之一。在选择技术堆栈时,您需要考...

    展厅设计中如何做到“内修外兼修”?

    自年上海世博会以来,数字展厅的概念正式进入国内大众视野,行业市场一度被引爆,不少企业纷纷涌入这个行业,试图在这个市场分得一杯羹。据不完全市场统计,仅在北京,与展厅生产相关的企业就有上千家。面对 鱼龙混杂 的市场,很多企业实力远远不够,缺乏专业资质 资金和核心技术能力。规划博物馆 科技馆 博物馆等展厅...

    企业服务 HA 系统审批流程 工作流的产品设计

    为了满足企业业务管控的需要,审批流程存在于各种各样的业务系统中。审批一般分为一般审批和业务审批。一般的审批一般可以通过钉钉 飞书等办公OA自带的审批功能来完成,非常成熟,不用多说业务审批往往与业务文档耦合,如采购订单的审批等,毫无疑问,相当一部分业务审批的可用性相对较差,今天我们就来谈谈如何设计一个...

    特斯拉如何使其设计面向未来? 听听设计主管Franz怎么说

    轻松的汽车新闻刚刚过去的年,Model Y不仅成为中国年度最畅销乘用车,更是超越了历史上的燃油车,夺得了全球年度销量桂冠。在辉煌成绩引发的众多深度解读中,我们发现,多年来,Model Y在新造车力量的突破和洗牌方面始终无与伦比。如此畅销全球的电动汽车是如何设计的?年月日,特斯拉设计总监弗朗茨 冯 霍...

    数字展馆设计如何具有吸引力

    数字展馆设计成功的关键是要有吸引力,吸引参观者的注意力,使他们对展示的内容感兴趣,并加深他们对展示内容的理解和理解。那么,数字展馆设计如何使其具有吸引力呢?数字展馆设计。.参观者与数字展馆产生共鸣。数字馆的设计应以人为本,根据不同的参观者群体进行设计,展示不同的内容。在设计中,要挖掘参观者的喜好和心...