本节书摘来自异步社区出版社《NoSQL权威指南》一书中的第1章,第1.8节,作者:【美】Joe Celko(乔•塞科) ,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.8 错误处理
错误信息有两大类,我们可以遇到一些预料之中的问题,如无效密码,针对这些情况可以采用标准的响应或处理过程。假如我们忘记了正确的密码,并且在做多次尝试后仍不能使用正确的密码,就会被锁定。
第二类错误消息能告诉我们发生了什么事,可能会有使人厌烦的细节。这些信息会让用户进行一些处理操作或者让用户知道他为什么会失败。
但是有了NoSQL的发展和最终一致性模型的出现,事情也未必就会变得很舒服。系统还是会停止或锁定,不知道是为什么,可以做什么,或者需要多长时间来解决(如果能解决的话)。截至2012年,Twitter用了一年多的时间试图从MySQL迁移到Cassandra。有些用户希望对自己关注的人能即时反馈(如Twitter用户),任何延迟都太太长。2011年8月,Foursquare公司声称,因为MongoDB故障引发了11小时的停机。