集群+内嵌数据库模式因为直接读文件(依赖dump的一致性读),但是真正的读操作并没有走一致性读,所以是不是会出现脏读。
比如集群中有A,B,C三个节点 写操作发生后 A,B已经应用了状态机,并触发了dump,c节点还没触发。 此时客户端发起读操作,第一次请求到A或B节点,第二次请求 请求到C节点 (此时依然没有触发同步) 这样就会出现脏读吧
如果是这样为什么前边大费周章走raft的写和dump时走一致性读,却在最后一步读文件导致前边做的都没用了。
原提问者GitHub用户niushihao
dump配置数据成缓存是为了减少对数据库/raft leader的读压力而做的最终一致性缓存。 简单的说就是读写分离,写操作保证了绝对一致,读操作仅保证最终一致,没有事务性保证。
原回答者GitHub用户KomachiSion
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。