9、系统设计中的可扩展性、可用性与容错性

系统设计中的可扩展性、可用性与容错性

1. 可扩展性

1.1 无状态和有状态服务

HTTP 是无状态协议,使用它的后端服务易于横向扩展。无状态的 HTTP 后端与可横向扩展的数据库读取操作相结合,是讨论可扩展系统设计的良好起点。不过,对共享存储的写入操作是最难扩展的。

1.2 基本负载均衡器概念

每个横向扩展的服务都使用负载均衡器,常见的负载均衡器类型如下:
- 硬件负载均衡器:一种专用物理设备,用于在多个主机之间分配流量,价格昂贵,从几千美元到几十万美元不等。
- 共享负载均衡器服务(LBaaS):即负载均衡即服务。
- 安装了负载均衡软件的服务器:常见的有 HAProxy 和 NGINX。

在系统设计中,通常不需要在系统图中明确画出负载均衡器,因为它是隐含的,画出并讨论它可能会分散对其他组件和服务的注意力。

1.3 四层和七层负载均衡器

  • 四层负载均衡器:在传输层(TCP)运行,根据 TCP 流中前几个数据包提取的地址信息做出路由决策,不检查其他数据包的内容,仅能转发数据包。
  • 七层负载均衡器:在应用层(HTTP)运行,具备以下能力:
    • 负载均衡/路由决策:基于数据包的内容。
    • 身份验证:如果缺少指定的身份验证头,可返回 401。
    • TLS 终止:数据中心内的流量安全要求可能低于互联网流量,进行 TLS 终止(HTTPS 转 HTTP)可消除数据中心主机之间的加密/解密开销。但如果应用要求数据中心内的流量加密,则不进行 TLS 终止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值