Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Stratege2:
- // 0. Init
- // 1. get local master record
- // 1. connection
- // 1. error -> 4.3. RedisError
- // 1. success -> 1.
- // 1. Who am I?
- // 1. local redis is master -> 2.
- // 2. local redis is slave -> 3.
- // 3. local redis status unknown -> 2.
- // 2. Master actions: confirm from other (round robin)
- // 1. other unreacheble -> 2.
- // 2. others master is me -> 4.4. (OK)
- // 3. others master is not me -> 4.2. (SetNewMaster)
- // 3. Slave actions (check master)
- // 1. master is dead -> 4.1. (ReSync)
- // 2. master is alive (cheking master records)
- // 1. LM==MM -> 4.4. (OK)
- // 2. LM!=MM -> 4.2. (SetNewMaster)
- // 4. Misc actions
- // 1. ReSync
- // 1. find next alive master (side-by-side selection)
- // 1. not found -> WOOT? even our local redis is dead -> 4.3. RedisError
- // 2. Push to others new master and setup replication
- // 2. SetNewMaster
- // 1. check new master status
- // 1. error -> 4.1. ReSync
- // 2. do work 4.1.2.
- // 3. RedisError
- // 1. throw HTTP 555 error code or throw exception (depends from environment)
- // 2. die
- // 4. OK
- // 1. do rediska setup
- // 2. let code-flow begin
Add Comment
Please, Sign In to add comment