terrymanu opened a new issue #12296:
URL: https://github.com/apache/shardingsphere/issues/12296


   The current status persist data structure is:
   
   ```
   states
   --primarynodes
   --proxynodes
   --datanodes
   ```
   
   There are some problems on current status persist data structure.
   
   1. Name of root node `states` is not good enough, it is better to rename it 
as `status`.
   2. The `proxynodes` is ephemeral node which can not persist circuit breaker 
status after restart the proxy.
   3. The node of `primarynodes`, `proxynodes` and `datanodes` are not in the 
same abstract level, it is hard to understand.
   
   I want to discuss to Redesign persist data structure of states
   
   The new persist data structure is:
   
   ```
   status
   --compute_nodes
   ----online(ephemeral)
   ------ip1
   ------ip2
   ------ip3
   ----circuit_breaker
   ------ip1
   ------ip2
   ------ip3
   ----other_status_type...
   --storage_nodes
   ----disable
   ------schema_0.ds_0
   ------schema_0.ds_1
   ------schema_1.ds_0
   ----disable
   ------schema_0.ds_0
   ------schema_0.ds_1
   ------schema_1.ds_0
   ----primary
   ------schema_0.ds_0
   ------schema_0.ds_1
   ------schema_1.ds_0
   ----other_status_type...
   ```
   
   The advantages are:
   
   1. Revise root node from `states` to `status`.
   2. Split `compute_nodes` and `storage_nodes`, make the concept more clear.
   3. Use status type as node name, it is easy to extend more status.
   4. Spilt online node and other status nodes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to