开发者可以做些什么来帮助实现高可用性

主要观点:实现高可用性不仅是 IT Ops 人员的工作,开发者也扮演重要角色,需共同努力。
关键信息

  • 定义可用性:表示系统或子系统处于功能状态的程度,通常用百分比计算,常见期望在 99%至 99.999%之间。
  • 系统不可用原因:包括无有效监控、软件缺陷、硬件故障、无冗余、级联故障等,开发者可帮助解决。
  • Cap 定理与高可用性:设计系统时需决定应用状态的一致性模型,开发者要设计让每个请求至少被一个工作服务处理的应用。
  • 安全控制与高可用性:云应用需安全管理,开发者要遵循安全最佳实践,添加安全控制到开发流程。
    重要细节
  • 无有效监控会减少解决问题的时间,开发者要让应用易监控并提供可操作指标。
  • 软件缺陷可能由算法、需求理解或系统理解不足导致,开发者要做好代码审查等工作。
  • 网络分区不可避免,在选择一致性和可用性时需考虑。
  • 开发 API 时可通过服务发现等方式检测后端状态,利用服务工作者等技术实现缓存策略。
  • 安全方面要确保授权方能及时访问信息,防止拒绝服务攻击,开发者要遵循安全实践并进行评估。
  • 各方都要负责,系统管理员和运营团队要主动监控,开发者要减少软件问题并测试 API。
阅读 6
0 条评论