I want to share a very large object e.g. in orders of megabytes or even several gigabytes, between a set of machines. The object will be written once but may be read many times. Maybe a naive approach is to use a ceneteralized storage like redis. However, it may become a single point of failure and too many requests may make a DOS attack on redis. Then, a distributed solution is much more promising. But, the main concern is replicating the structure to all machines. If the replication is done via a master/slave technique, then replication may result a huge traffic load on the master because the object is large. Therefore, a better solution is using a P2P strategy for replicating the object in order to decrease the network load on the master.
Does any body know a solution for this problem?
Maybe some candidates are:
- Redis
- Memcached
- Voldemort
- Hazelcast
My major concerns are Java interface, sharing big object, high availablity, and low network traffic for replication.
Thanks beforehand.