Load Balancing & Microservices

アクセスを分散させ、機能を分割する。巨大システムを飼いならす技術。

Load Balancer
トラフィックを複数のサーバーに振り分ける装置。水平スケーリングの要。

Load Balancer (Horizontal Scaling)

graph LR
    User1((User)) --> LB[Load Balancer]
    User2((User)) --> LB
    User3((User)) --> LB
    
    LB --> S1[Server 1]
    LB --> S2[Server 2]
    LB --> S3[Server 3]
    
    S1 --> DB[(Database)]
    S2 --> DB
    S3 --> DB

LBがリクエストを各サーバーに振り分ける。こうすることで、サーバーが1台故障してもサービスは止まらない。