Hey all,
Infinispan has historically had two ways of performing live migration
between two clusters, via Hot Rod and via REST. We do not currently
provide an offline migration, although we do have a cache store
migration tool.
Gustavo has recently made several changes to the Hot Rod implementation
which have improved it greatly. The REST implementation is still not
robust enough, but I think we can abandon it and just focus on the Hot
Rod one ever for servers using REST.
The following is a list of stuff, mostly compiled by Gustavo, that needs
to be done to make everything smooth and robust:
1) Need a way to automate client redirection to the new cluster. I've
often referred to this as L4 client intelligence, which can also be used
for server-assisted cross-site failover.
2) Need a way to "rollback" the process in case of failures during the
migration: redirecting the clients back to the original cluster without
data loss. This would use the above L4 strategy.
3) Expose metrics and progress
4) Expose a way to cancel the process
5) Expose a container-wide migration process which can be applied to all
caches instead of one cache at a time.
6) The migration process should also take care of automatically
configuring the endpoints / remote cache stores at the beginning of the
process and removing any changes at the end.
6) Provide a future-proof format for the entries
7) Implement dump and restore capabilities which can export the contents
of a cluster to a file (compressed, encrypted, etc) or a collection of
files (one per cache).
Anything else ?
Tristan
--
Tristan Tarrant
Infinispan Lead
JBoss, a division of Red Hat