每次我在自己参与的系统中放松一致性保证(或听到同事这样做)时,……
……每次我在自己参与的系统中放松一致性保证(或听到同事这样做)时,我们都会后悔。几年前在一家初创公司,我们需要为一个数据库构建一个外部搜索索引。数据库是实时更新的——我们有一个变更流,可以实时更新浏览器中的记录。负责该任务的工程师做了一个“足够好”的工作——他写了一个粗糙的脚本,只在大部分情况下正确。但有时会导致索引与数据不一致。我们经常收到用户报告说某些项目在搜索结果中没有显示出来。他会认真地回去调整各种东西,试图修复这个问题。最终,我们的一位资深工程师进入并重写了整个索引脚本,使其严格正确。从那以后,我们再也没有听到任何关于这个问题的反馈——它每次都正常工作。即使不考虑用户的挫败感,从维护的角度来看,正确地编写它也是一个巨大的胜利。一旦它正确了,我们就不再需要不断抽调工程时间来修复问题。……
源讨论数据一致性被高估了原帖 71 条评论 · 导入时统计