Load Balancing GCP Cloud SQL

Umumnya aplikasi hanya memiliki 1 database server saja, atau ditambah 1 lagi sebagai failover. Namun jika semua perbaikan query dan tuning dilakukan namun masih terasa kurang, solusinya adalah menambah instance database lagi (scale out / horizontal scaling) jika scale up/vertical scaling sudah tidak bisa dilakukan lagi atau harganya yang mahal.

Ada banyak cara scale out seperti

  • percona galera cluster (multi master)
  • mysql clustering (enterprise, multi master)
  • proxy sql (single master)
  • dll

Namun ingat petuah leluhur kita

Development update #2: Premature optimization, the root of all evil. -  REalM Walk of Soul
Ken Thompson quote: When in doubt, use brute force.

Menurut pengalaman saya dan beberapa orang lain, query yang paling banyak dilakukan adalah select (80% lebih). Jika aplikasi belum support multi master (milsakan masih ada auto increment), tidak percaya diri menggunakan on premise database, tidak ada resource dedicated untuk mengelola database, cara terbaik adalah menggunakan managed database.

Namun di gcp hanya tersedia replica tapi tidak untuk load balancingnya. Solusi termudahnya adalah menggunakan replica, dan proxy sql.

Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings

Proxy sql disini berfungsi sebagai routing atau load balancer. Di deploy di kubernetes (sudah ada sciptnya disini tinggal kubectl apply -f *)

https://medium.com/@alfred.tommy_70522/deploying-proxysql-on-gke-with-cloudsql-67108f24b018

Leave a Reply

Please Connect to comment
  Subscribe  
Notify of