【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

文章:敏捷、架构和凌晨 5 点的产品问题

  • 2007-09-04
  • 本文字数:811 字

    阅读完需:约 3 分钟

Michael Nygard 把自己列为那些仍然相信有架构这种东西存在的人之一。他在 InfoQ 发表的文章敏捷、架构和凌晨5 点的产品问题中抛出了一个神秘的问题,并引导读者走完了从发现到解决的全过程。他在文章的最后总结道,当我们为真实的世界而非QA 来构建产品应用时,需要有面向失败的思维和扎实的防御性编程策略。该文向敏捷社区中那些关于“够用就好”的架构组成的思想提出了挑战。

文章中讲述的那个神奇的问题只会在凌晨的一两个小时内,当网站的访问趋近於无了一段时间以后出现:一个应用每天早上5 点都会宕掉,同时宕掉的还有一个只用于 查询的数据库。引发这个问题的地方——同时也是受害者——包括一个Web 服务器,一个数据库服务器和一个防火墙。如果有些人的第一个想法就是:“如果你只 是查询的话,那根本不会导致死锁啊!”这些人就应该去看看Nygard 到底发现了什么。

Nygard 用这个故事来阐述被他称之为“面向失败思维”的观点,这并不是说他期待着项目会失败,而是在他构建系统的时候,就一直在假设由于某种原因,在 某一天,架构中的任何一个地方都有可能出现问题。他在书中强力推荐大家在构建一套测试体系时要充满各种恶意,从简单的网络连接断掉,到使用错误的协议来发 出响应,这样才能更全面地模拟各种失败的场景。

Nygard 在文中向敏捷社区发起了挑战,因为社区中那些成天为“够用就好的架构”唱颂歌的人到现在还不知道这种想法在实际应用中意味着什么。同样,在不知多少文章和书籍中推荐过的特征驱动开发和极限编程,在解决这种问题的时候还是鞭长莫及。Nygard 相信,在敏捷、架构和凌晨 5 点的产品问题一文中提出的问题领域内,敏捷方法只能保持明显的缄默。

敏捷已经敞开了双臂拥抱测试纪律,而且最近也在努力向技术文档和可用性等其他纪律靠拢。那么有关架构的纪律也是敏捷实践要与之融合的候选之一吗?还是敏捷中已经收录了足够多的原则和实践,完全可以构建出一个强壮的架构了?

阅读全文:敏捷、架构和凌晨 5 点的产品问题

2007-09-04 23:26686

评论

发布
暂无评论
发现更多内容

SpringMVC(五、AOP)

开源 springmvc spring aop 8月月更

从洞察到决策,一文解读标签画像体系建设方法论丨DTVision分析洞察篇

袋鼠云数栈

袋鼠云申杭:数雁EasyDigit,致力成为金融行业数据洞察平台供应商的“领头雁”

袋鼠云数栈

全新升级!《云原生架构白皮书 2022 版》重磅发布

阿里巴巴云原生

阿里云 架构 云原生 白皮书

化整为零优化重用,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang函数的定义和使用EP07

刘悦的技术博客

Go 教程 Go web 教程分享

A tour of gRPC:07 - gRPC bidirectional straming 双向流

BUG侦探

gRPC RPC protocolBuffer

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

阿里巴巴云原生

阿里云 开源 微服务 云原生 nacos

活动报名| MongoDB 使用规范及最佳实践线上直播来啦!

MongoDB中文社区

mongodb

DevSecOps|极狐GitLab IaC 安全扫描,保障云原生安全

极狐GitLab

Docker gitlab 运维 DevSecOps IaC

一文读懂BizDevOps:数字化转型下的技术破局

阿里云云效

技术 DevOps 云原生 数字化转型 开发.

MQTT over QUIC:下一代物联网标准协议为消息传输场景注入新动力

EMQ映云科技

车联网 物联网 mqtt emqx 8月月更

深度学习公式推导:从神经元出发

老崔说架构

解析 RocketMQ 业务消息——“事务消息”

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

开源项目丨一文详解一站式大数据平台运维管家ChengYing如何部署Hadoop集群

袋鼠云数栈

培训预告 | 企业应用现代化实用教程——微服务治理与开发篇

York

容器 微服务 云原生 数字化转型 应用现代化

开源一夏 | 实战之AngularJS 的Scope和Service的深入应用心得

恒山其若陋兮

开源 8月月更

如何通过FinOps实现企业云成本优化?——信通院《中国FinOps产业发展现状研究报告》解读

星汉未来

云原生 k8s IT FinOps 云成本优化

在知识经济的年代,让你学会如何经营好自己的知识

Baklib

【接入指南 之 云云接入】快速接入HONOR Connect平台(下)

荣耀开发者服务平台

开发者 IoT 新手指南 荣耀 honor

落地DevOps,探索高效研发运营一体化解决方案

云智慧AIOps社区

DevOps 质量管理 代码管理 自动化运维 研发效率

有一说一!阿里巴巴8月最新发布的这份Spring Cloud Alibaba学习笔记,几乎涵盖了其所有操作

程序员小毕

Java 程序员 面试 微服务 SpringCloud

用 manim 写一个排序算法动画

ooooooh灰灰

算法 前端 后端 动画 排序

自动化测试-存储测试用例,哪个更好

和牛

Python 自动化 测试 8月月更

业内首份!博睿数据入选中国信通院《中国AIOps现状调查报告(2022)》

博睿数据

博睿数据 智能运维AIOps Swift AI

30分钟成为Contributor|共建测试子系统,赋能提升项目代码质量

OpenHarmony开发者

OpenHarmony

如何提升IT对业务发展的贡献度

凌晞

数字化 构架 IT管理

TDesign 品牌价值观

TDesign

直播预告 | 如何从 0 到 1 打造敏捷团队?

Authing

实证与虚无,抽象和具象,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang接口(interface)的使用EP08

刘悦的技术博客

Go 编程 教程 Go web 教程分享

1分钟创建3000台云电脑 阿里云无影发布多款千人协同生产力方案

Lily

知识管理的成熟,需要具备什么条件?

Baklib

文章:敏捷、架构和凌晨5点的产品问题_研发效能_霍太稳@极客邦科技_InfoQ精选文章