做分布式文件存储,主要是想实现文件存储访问的高性能与高可用,如何保证分布式存储的高性能与高可用?
-
首先想到的是副本机制,集群部署
-
在系统中通过复制协议将数据同步到多个存储节点,并确保多个副本之间的数据一致性,当某个存储节点出故障时,系统能够自动将服务切换到其他的副本
-
在分布式存储中高性能与高可用是矛盾的,比如要设计一个分布式存储系统,CAP定理也可以推断出来- 对性能的考虑,记录数据时先写一个份数据到某个机器上并立即返回,然后异步发起多个数据备份过程。这种设计的性能最好,但存在“容错性”的风险,假如返回后,还没来得及同步给其它节点就宕机了,则数据就丢失(异步复制,也存在是写主节点到内存还是落到磁盘)
- 如果同时写多个副本,每个副本写成功以后再返回,则又导致性能下降,这个过程取决于最慢的那台机器的性能 (同步多写,是同步每个副本节点还是一个副本先)
-
根据业务而定,如果要求性能更高,偶尔出现文件丢失或访问出错则可以异步复制
- 要求文件系统一定要高可用,则用同步多写的策略,牺牲一定的性能也要保证高可用数据一致性
文章探讨了在分布式文件存储中实现高性能和高可用性的方法,如使用副本机制和处理数据一致性。异步复制能提高性能但可能增加数据丢失风险,而同步多写虽牺牲性能但保障了高可用性和数据一致性。CAP定理在此场景下也有所体现,需要根据业务需求权衡性能和容错性。
2320

被折叠的 条评论
为什么被折叠?



