Data model

Storage structure

  • Storage structure is as the following:

    • Service layer

    • Cluster layer

    • Info entries as KV

Value entry in "Key, Value" pair

  • Value contains the location of the server

  • And it could also contains the grouping of server. For example, VIP clients should only be directed towards VIP servers.

Zookeeper example

  • How many nodes are online.

  • How many nodes are operating correctly.

  • What are the resource (CPU, memory, disk) usage states for these online nodes.

  • If resource usage exceed the threshold, receive an alert.

                                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                            
                                     β”‚                         β”‚                                            
                                     β”‚    Monitoring Center    β”‚                                            
                                     β”‚                         β”‚                                            
                                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                            
                                                  β–²                                                         
                                                  β”‚                                                         
                                               Step3.                                                       
                                         Watch mechanism for                                                
                                        directory file change                                               
                                                  β”‚                                                         
                                                  β”‚                                                         
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                            
                    β”‚                        Zookeeper                         β”‚                            
                    β”‚                                                          β”‚                            
                    β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚                            
                    β”‚    β”‚                   Root dir                   β”‚      β”‚                            
                    β”‚    β”‚     ---server001: json blob for resource     β”‚      β”‚                            
                    β”‚    β”‚     ---server002: json blob for resource     β”‚      β”‚                            
                    β”‚    β”‚     ---server003: json blob for resource     β”‚      β”‚                            
                    β”‚    β”‚                     ...                      β”‚      β”‚                            
                    β”‚    β”‚     ---server00N: json blob for resource     β”‚      β”‚                            
                    β”‚    β”‚                                              β”‚      β”‚                            
                    β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚                            
                    β”‚                                                          β”‚                            
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                            
                                                  β–²                                                         
                                                  β”‚                                                         
                                                  β”‚                                                         
                      step2.                      β”‚                                step1.                   
          β”Œβ”€report resource health via ─┬─────────┴─────────────────┬────────create an ephemeral──┐         
          β”‚        heartbeat msg        β”‚                           β”‚          node upon start    β”‚         
          β”‚                             β”‚                           β”‚                             β”‚         
          β”‚                             β”‚                           β”‚                             β”‚         
          β”‚                             β”‚                           β”‚                             β”‚         
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Server node 1   β”‚          β”‚  Server node 2   β”‚        β”‚ Server node ...  β”‚          β”‚  Server node N   β”‚
β”‚                  β”‚          β”‚                  β”‚        β”‚                  β”‚          β”‚                  β”‚
β”‚                  β”‚          β”‚                  β”‚        β”‚                  β”‚          β”‚                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚          β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚        β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚          β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Agent    β”‚  β”‚          β”‚  β”‚   Agent    β”‚  β”‚        β”‚  β”‚   Agent    β”‚  β”‚          β”‚  β”‚   Agent    β”‚  β”‚
β”‚  β”‚            β”‚  β”‚          β”‚  β”‚            β”‚  β”‚        β”‚  β”‚            β”‚  β”‚          β”‚  β”‚            β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚          β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚        β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚          β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                  β”‚          β”‚                  β”‚        β”‚                  β”‚          β”‚                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Last updated

Was this helpful?