classDiagram class User { id: integer name: string email: string profile_picture: string created_at: datetime } class Page { id: integer title: string user_id: integer content: text created_at: datetime } class Counter { page_id: integer created_at: datetime updated_at: datetime count: integer } User "1" -- "n" Page : owns Page "1" -- "n" Counter : has
flowchart TD
client[Client]
zookeeper{ZooKeeper}
loadBalancer{Load Balancer}
apiGateway[API Gateway]
messageQueue1[Message Queue]
messageQueue2[Message Queue]
database[Database]
cache[Counter Cache]
countServer[Count Server]
client --> loadBalancer
loadBalancer --> apiGateway
apiGateway --> messageQueue1
messageQueue1 --> countServer
countServer -- write --> cache
cache --> messageQueue2
messageQueue2 --> database
countServer -- read --> database