被认为有害的模式

主要观点:复杂软件更易出错,程序员应遵循奥卡姆剃刀原理尽量简单编码,重点讨论分布式系统复杂度的重要指标“模式”。以发送消息到可能宕机的服务为例,常见做法是先尝试发送,不成功则写磁盘待后续再试,这种模式设计易出现“代码腐烂”等问题,如长时间未运行的代码可能失效,且在压力环境下可能有负面影响,如填满本地磁盘影响后续操作等。同时质疑了写磁盘太慢所以通常不想做的基本假设,认为在错误情况下访问数据库也可能导致问题。正确做法应是先写磁盘再尝试发送消息。

关键信息:

  • 用发送消息到服务的例子说明模式设计及问题。
  • 提及代码腐烂现象及不同时间未运行代码对人的影响。
  • 强调在错误情况下访问数据库等可能存在的逻辑谬误。
  • 介绍恢复导向计算相关研究及无模式服务的论文。

重要细节:

  • 讨论了写磁盘模式在分布式系统中的各种弊端,如测试困难、易代码腐烂、存在逻辑错误等。
  • 以保险企业的大型 COBOL 程序为例说明长时间未运行代码的情况。
  • 提到团队项目中直接访问后端关系数据库作为后备计划导致的问题。
阅读 10
0 条评论