主要观点:实现高可用性不仅是 IT Ops 人员的工作,开发者也扮演重要角色,需共同努力。
关键信息:
- 定义可用性:表示系统或子系统处于功能状态的程度,通常用百分比计算,常见期望在 99%至 99.999%之间。
- 系统不可用原因:包括无有效监控、软件缺陷、硬件故障、无冗余、级联故障等,开发者可帮助解决。
- Cap 定理与高可用性:设计系统时需决定应用状态的一致性模型,开发者要设计让每个请求至少被一个工作服务处理的应用。
- 安全控制与高可用性:云应用需安全管理,开发者要遵循安全最佳实践,添加安全控制到开发流程。
重要细节: - 无有效监控会减少解决问题的时间,开发者要让应用易监控并提供可操作指标。
- 软件缺陷可能由算法、需求理解或系统理解不足导致,开发者要做好代码审查等工作。
- 网络分区不可避免,在选择一致性和可用性时需考虑。
- 开发 API 时可通过服务发现等方式检测后端状态,利用服务工作者等技术实现缓存策略。
- 安全方面要确保授权方能及时访问信息,防止拒绝服务攻击,开发者要遵循安全实践并进行评估。
- 各方都要负责,系统管理员和运营团队要主动监控,开发者要减少软件问题并测试 API。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。