我需要构建一个托管内部git存储库的
解决方案.它需要
支持数十万(或更多)存储库.
我计划使用具有共享存储的多个“哑”服务器,因此基本上当客户端尝试访问存储库时 – 它将被负载均衡器重定向到任何可用的服务器.对存储库的任何更改都将在所有节点之间进行复制.
我的第一个想法是使用GlusterFS,但我读过它不能很好地处理小文件.我也在考虑使用DRBD自己复制所有东西,但这需要更多的设置,并且与GlusterFS相比似乎更复杂.
哪两个提供了更好的表现?基本上我试图解决的问题是,当任何服务器出现故障时 – 我希望其他服务器仍能够提供数据.
这是一个经典的横向扩展用例,IMO GlusterFS应该符合要求.您可以尝试一下 – 只需启动一些虚拟机,设置几块砖用于存储库存储并运行压力测试.
DRBD无论如何都不是一个选择 – 它不会扩展.如果有的话,我会看看其他对象存储项目(例如Swift),如果Gluster不能很好地运行,但它们都不是极其性能导向的