spinny:~/writing $ less scale-web-applications.md
12Apabila aplikasi web berkembang dari segi pengguna, data, dan ciri, kebolehskalaan menjadi keutamaan.34## Kebolehskalaan Menegak vs Mendatar56```mermaid7flowchart LR8 A[Users] --> B[Load Balancer]9 B --> S1[Server 1]10 B --> S2[Server 2]11 B --> S3[Server 3]12```1314- **Menegak:** mudah dilaksanakan, tetapi dengan had fizikal.15- **Mendatar:** lebih berdaya tahan dan boleh diskala.1617## Caching: Mempercepatkan Respons1819```mermaid20flowchart TD21 U[User] --> CDN[CDN]22 CDN --> App[Application]23 App --> DB[Database]24```2526## Pengimbangan Beban: Mengedarkan Trafik2728```mermaid29flowchart TD30 U[User] --> LB[Load Balancer]31 LB --> S1[Server 1]32 LB --> S2[Server 2]33 LB --> S3[Server 3]34```3536## Penskalaan Pangkalan Data: Replikasi dan Sharding3738```mermaid39flowchart TD40 App[Application] --> DB1[Shard 1]41 App --> DB2[Shard 2]42 App --> DB3[Shard 3]43```4445## Mikroservis dan Seni Bina Teragih4647```mermaid48flowchart TD49 U[User] --> API[API Gateway]50 API --> MS1[Microservice 1]51 API --> MS2[Microservice 2]52 API --> MS3[Microservice 3]53 MS1 --> DB1[(DB 1)]54 MS2 --> DB2[(DB 2)]55 MS3 --> DB3[(DB 3)]56```5758## Ketidaksegerakan dan Baris Gilir Kerja5960```mermaid61flowchart TD62 App[Application] -- send task --> Queue[Queue]63 Queue --> Worker[Worker]64 Worker --> DB[Database]65```6667## Pemantauan dan Penskalaan Auto6869## Corak Kebolehskalaan Biasa7071- **Strangler Fig Pattern**: penghijrahan beransur-ansur dari monolit ke mikroservis.72- **CQRS**: memisahkan bacaan dan penulisan.73- **Event Sourcing**: keadaan aplikasi diuruskan melalui peristiwa.7475## Corak Kebolehskalaan Lanjutan7677- **Circuit Breaker**: menghalang kegagalan berantai.78- **Bulkhead**: mengasingkan sumber antara komponen.79- **Retry dan Backoff**: cubaan semula automatik dengan selang meningkat.80- **Rate Limiting**: mengehadkan bilangan permintaan.8182```mermaid83flowchart TD84 Client --> API[API Gateway]85 API --> CB[Circuit Breaker]86 CB --> Svc[Service]87 Svc --> DB[Database]88 API --> RL[Rate Limiter]89 RL --> CB90```9192## Aliran Permintaan Lengkap9394```mermaid95flowchart LR96 U[User] --> CDN[CDN]97 CDN --> LB[Load Balancer]98 LB --> API[API Gateway]99 API --> MS[Microservices]100 MS --> MQ[Message Queue]101 MS --> Redis[Cache]102 MS --> DB[Database]103 MQ --> Worker[Worker]104 Worker --> DB105```106107## Kesimpulan108109Menskalakan aplikasi web memerlukan visi holistik: seni bina, alat, automasi, pemantauan, dan budaya DevOps. Mengkaji corak lanjutan dan belajar daripada kesilapan syarikat besar adalah kunci untuk membina sistem yang berdaya tahan.110
:Cara Menskalakan Aplikasi Web: Strategi dan Coraklines 1-110 (END) — press q to close