微服务扩展性和高可用-冗余和容错(翻译)

原文出处:https://dzone.com/refcardz/scalability?chapter=5

冗余和容错

冗余系统(Redundant system)设计取决于任何系统组件故障独立于其他组件故障的预期。

容错系统在组件或子系统发生故障时继续运行;它的吞吐量可能会降低,但总体系统可用性保持不变。硬件或软件中的故障可以通过组件冗余或安全回退(如果可以在软件中进行回退)来处理。在依赖系统不可用的情况下,软件中的容错通常作为一种回退方法来实现。容错要求源自于SLA。实现依赖于硬件和软件组件,以及它们交互的规则。

容错对SLA的要求

  • 无单点故障:冗余组件确保连续运行,并允许在不中断服务的情况下进行维修。
  • 故障隔离: 问题检测必须精确定位特定的故障组件。
  • 故障传播遏制: 一个组件中的故障不能级联到其他组件。
  • 恢复模式:将系统设置回已知状态。

冗余集群系统可以提供更高的可用性、更好的吞吐量和容错性。图10中的A/A集群为可伸缩的无状态应用程序提供不间断的服务。

a53cd970-721c-11e9-b22a-7d284106ced1.png

图 10: A/A 容错与恢复

一些有状态的应用程序可能只能扩展;图11中的A/P集群为此类应用程序提供不间断服务和容灾恢复。A/P配置提供配置的透明度。A/P配置可以以更好的成本提供故障透明度。因为自动故障检测和重新配置是通过反馈控制系统实现的。打宝石反馈系统的成本更高,实施起来更为棘手。

b502a150-721c-11e9-b22a-7d284106ced1.png

图 11: A/P 容错与恢复

企业系统通常通过将服务转移到被动系统并尽快将其练级,从而通过故障透明来实现应付故障的容错和恢复。机器人?(Robotics)和生命临界系统可以实现概率、线性模型、故障隐藏和优化控制系统

多区域

荣誉系统通常跨越多个区域,以地理位置来实现隔离,提供故障转移功能,并尽可能靠近消费者交付内容。这些冗余通过系统级联到所有服务中。并且单个可扩展系统可以遍历整个负载均衡集群。

云计算

云计算描述了在第三方拥有和操作分布式计算资源的情况下,来运行的应用程序。

最终使用者(End-user)应用程序是最常见的例子。他们利用Saas和PaaS计算模型。

d2ffc8e0-721c-11e9-b22a-7d284106ced1.png

图 12: 云计算配置

云服务类型

  • Web 服务: Salesforce com, USPS, Google Maps.
  • 平台服务: Google App Engine, Amazon Web Services (EC2, S3, Cloud Front), Nirvanix, Akamai, MuleSource.

故障检测方法

故障检测方法必须提供足够的信息来隔离故障并执行自动或辅助故障转移操作。一些最常见的故障检测方法包括:

  • 内置诊断功能。
  • 协议嗅探器。
  • 健康检查
  • Watchdog 检查.

临界性被定义为两个或两个以上检测机制在固定时间段内报告的连续故障数。如果故障检测机制报告了每个故障 (干扰), 或者它在多个监视期间没有报告真正的故障, 则该机制是无用的。

原文链接:https://dzone.com/refcardz/scalability?chapter=5

原文作者:Matt Rasband;Eugene Ciurana

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券