Hi Chris,
Is it possible to set up Sequoia embedded in a client application so
that all the clients share the same data? I need to include new
clients when they start up and safely allow clients to detach and shut
down without data loss.
The problem is that all your clients would have to be able to connect to
the same group communication channel that will totally order all
messages. This is not really realistic in a WAN context, so all your
clients would have to be on the same local network.
Moreover, you'll need always at least one client to be up so that others
can synchronize against it, otherwise it's going to be a nightmare in
terms of management.
The first issue I see is the static URL in the documentation, but I
suppose I can create some kind of multicast message to acquire a
cluster URL. (sort of an auto-discovery/zero-conf feature)
You don't need that, your application will always connect to the local
embedded database (so a local URL to the controller is fine). The real
auto-discovery thing will be handled by the group communication
membership service.
I guess the other issue would just be speed. I can imagine 80
databases replicating with each other might pretty much bring the
network to its knees, sobbing in pain. Then again, it would be a lot
smaller than YouTube's bandwidth usage, so maybe it'd be doable.
You are right, the scalability of the group communication is highly
dependent on how many members (i.e. controllers) are in the group.
I would really appreciate any thing you could do to help me focus on
the relevant issues - should I even consider doing this?
It's hard to tell given the little context you gave but it could make
sense to use Sequoia more as a cache and use a remote database cluster
for all clients. Or maybe you just don't need a database and a
peer-to-peer technology could do the trick for you.
Thanks for your interest in Sequoia,
Emmanuel
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia