Cut over: migrate from Hazelcast to KiviDB

(see below) behind a setting, and test it against a copy.

  1. Prepare the code. Build the KiviDB version of every Hazelcast call (see below) behind a setting, and test it against a copy.
  2. Start the follower for every map that changes, then run the copy.
  3. Check the counts and a sample (see Verify) while the follower runs.
  4. Freeze writes: stop the producers and consumers of queues, and put the application in read-only mode or maintenance. How long this takes is your downtime.
  5. Copy what the follower does not cover: queues, lists, sets, ringbuffers, ReplicatedMaps and counters. These are small in most systems; rerun the copy for those structures only.
  6. Check again, then stop the follower.
  7. Switch the application to KiviDB, and start the consumers.
  8. Rollback: keep the Hazelcast cluster running, untouched, until you are sure. Switching back means copying the other way; plan that program now if you might need it, or keep dual writes on for a while.