简短结论:异步复制不能保证强一致性,只能保证“最终一致性”(在不出故障的前提下)。
下面分几点说明:
在异步复制中:
典型场景:
在异步复制下,可能出现:
Client → Master ✅
Master → Slave ❌(延迟 / 丢失)
此时:
这就是读不一致。
异步复制通常能保证:
但不能保证:
| 复制方式 | 是否保证强一致 | 性能 | 可用性 |
|---|---|---|---|
| 同步复制 | ✅(多数派确认) | 较低 | 较低 |
| 异步复制 | ❌ | 高 | 高 |
| 半同步 | ⚠️ 部分 | 中 | 中 |
异步复制牺牲一致性换取性能和可用性,不能保证一致性,只能保证最终一致。
如果你愿意,我可以结合 MySQL / Redis / Kafka 具体说哪种场景下会出问题。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。