开个玩笑:抛开需求谈规模都是耍流氓——有实际的业务场景,量化的数据、流量规模才有测试结论
1、如果是采购三方系统,对于CAP中的原则问题不是在我们的考虑范围,对于节点的配置涉及分布式系统的底层设计:数据同步(分片)、数据备份、master选举等。我们要做的就只有一点:看配置文件说明,遵循官方的节点配置公式。比较经典的节点配置公式:2/n + 1 (n为节点数),也就是集群中需要保证有半数以上的节点正常,这样可以保证master的半数投票获得率,数据备份也是同理。所以一般为达到机器的较高利用率节点数一般是:3、5、7、9...,视规模变化
2、如果是自己设计一套分布系统,那考虑的问题不只是CAP原则还有,还有应用程序的可伸缩性,弹性和可管理性等。微软Azure应用设计原则感觉是不错的指导,建议看看,从分布式开发者角度出发了解分布式应用。
收起分布式存储理论上的是没有节点上线的,可以无限扩展。但是,现实的情况是,超过500台节点后,整个集群的性能并不会随着节点的增加而增加,并且可能会出现集群数据重构导致的集群不稳定。
按照实际使用的情况,一般分布式集群存储容量超过70%的可用容量时,集群扩容会对集群性能产生巨大的影响。所以,一般做poc的时候,建议先把集群数据写满,然后擦除40%,在存有60%数据的集群上做POC,这个结果比较靠谱。