我想在一组机器之间共享一个非常大的对象,例如以兆字节甚至几千兆字节的顺序。该对象将被写入一次,但可能会被多次读取。也许一种天真的方法是使用像redis这样的集中式存储。但是,它可能会成为单点故障,过多的请求可能会对 redis 造成 DOS 攻击。然后,分布式解决方案更有希望。但是,主要问题是将结构复制到所有机器上。如果复制是通过主/从技术完成的,那么复制可能会导致主服务器上的流量负载很大,因为对象很大。因此,更好的解决方案是使用 P2P 策略来复制对象,以减少主服务器上的网络负载。
有没有人知道这个问题的解决方案?也许一些候选人是:
- Redis
- Memcached
- Voldemort
- Hazelcast
我主要关心的是 Java 接口、共享大对象、高可用性和低网络流量进行复制。
预先感谢。