Sebuah situs web menangani seribu pengguna. Kemudian satu juta. Apakah situs tersebut akan mengalami kerusakan? Skalabilitas adalah kemampuan suatu sistem untuk menangani peningkatan jumlah pekerjaan. Sistem dapat berkembang dengan menambahkan sumber daya (skala horizontal) atau dengan meningkatkan kemampuan sumber daya yang ada (skala vertikal). Sistem yang skalabel tidak akan rusak ketika permintaan meningkat.
Penskalaan vertikal lebih sederhana. Tambahkan lebih banyak RAM, CPU yang lebih cepat, disk yang lebih besar. Tetapi ada batasnya. Anda tidak dapat menambahkan RAM tanpa batas. Penskalaan horizontal lebih sulit. Tambahkan lebih banyak mesin dan distribusikan beban. Ini membutuhkan penyeimbang beban, basis data terdistribusi, dan layanan tanpa status. Tetapi skalabilitasnya hampir tidak terbatas.
Strategi penskalaan
- Horizontal: tambahkan lebih banyak server
- Vertikal: tingkatkan server yang ada
- Penyeimbangan beban: mendistribusikan lalu lintas
- Caching: mengurangi pekerjaan berulang.
- Sharding: membagi data di beberapa mesin.
Skalabilitas bukan hanya tentang perangkat keras. Ini tentang arsitektur. Sistem yang dirancang dengan buruk tidak akan mampu diskalakan, berapa pun jumlah server yang Anda tambahkan. Sistem yang dirancang dengan baik dapat tumbuh dari perusahaan rintisan menjadi platform global. Keputusan desain yang dibuat sejak awal menentukan seberapa jauh Anda dapat melangkah.
Comments
No comments yet. Be the first to share a thought.
Leave a comment