rescrv / Replicant

A system for maintaining replicated state machines
BSD 3-Clause "New" or "Revised" License
115 stars 18 forks source link

depends on sparsehash? #16

Open waitman opened 8 years ago

waitman commented 8 years ago

"Replicant relies upon the sparsehash library. Please install sparsehash to continue."

I don't see sparsehash mentioned on the "Installing from source" page: http://hyperdex.org/download/#other

Also, sparsehash may be built using gcc-4.2: https://gcc.gnu.org/gcc-4.2/ or by patching: https://github.com/sparsehash/sparsehash/issues/96 if one prefers to use a "modern" compiler.

Thanks.

jmcklondonuk commented 8 years ago

I don't see in the client whether it coordinates interaction with replicas. How can Replicant start doing some basic load balancing in the client or daemon? I am thinking of building an FSM to process large amounts of data in a fashion similar to regular expression matching. The data can be partitioned, the processing operators can be distributed on different nodes, and yet there is still a need for load balancing such as to call the less busy node out of several available. Is this already done, i.e. some indicator of load and a distribution to the less loaded? Thanks!

rescrv commented 8 years ago

Replicant, by its nature, creates a replicated object where all copies should be identical. This is the exact opposite of what partitioning does. Replicant does not do what you are looking to do.

You can use replicant to do what you are looking to do by maintaining the partitioning within replicant and running several independent processes (tied together by replicant) to serve your requests.