构建高可扩展性和高可用性系统的全面指南
1. 系统监控的重要性
系统监控绝非枯燥之事。若追求 99.999% 的可用性,就不能对任何事掉以轻心,要监控一切,并定期手动和自动审查警报、日志和指标。因为你永远不知道自己或工具会发现什么问题,而这些问题往往会在你最意想不到的时候出现。
不能因为在功能、进程、应用程序和节点层面隔离了故障,就认为允许进程崩溃是可以接受的。“让它崩溃”的方法能提供简化编程模型以减少崩溃,但要确保能及时察觉故障并尽快修复,要在用户察觉之前有足够的反应时间。
此外,不要浪费时间大海捞针,要掌握所有数据,以便在异常出现时证明自己的清白(或承认问题)。
2. 设计可扩展和高可用系统的步骤
设计可扩展和高可用的系统,可遵循以下 10 个简单步骤:
1. 将系统功能拆分为可管理的独立节点。
2. 选择分布式架构模式。
3. 选择节点、节点族和集群之间通信使用的网络协议。
4. 定义节点接口、状态和数据模型。
5. 为节点中的每个接口函数选择重试策略。
6. 考虑重试策略的需求,为所有数据和状态选择在节点族、集群和类型之间的共享策略。
7. 设计系统蓝图,考虑节点比例以实现扩展和收缩。
8. 确定应用背压和负载调节的位置。
9. 定义操作、管理和维护(OAM)方法,确定系统和业务警报、日志和指标。
10. 确定应用支持自动化的位置。
当所有这些部分都到位并运行后,随着需求的演变,不断重新审视权衡和假设。根据需要增加更多的弹性和可见性,找出每次停机的原因,并在监控系统中设置预警信号,同时在软件和基础设施中增强弹性
超级会员免费看
订阅专栏 解锁全文
393

被折叠的 条评论
为什么被折叠?



