KamoCRM

Blog

Teknik10 Maret 20266 menit baca

The Architecture Behind 99,9% Uptime

Uptime bukanlah metrik pemasaran bagi kita. Ini adalah kendala teknik yang membentuk setiap keputusan yang kita buat. Ketika seluruh bisnis Anda beroperasi pada satu platform, downtime bukan ketidaknyamanan. Ini adalah pemberhentian penuh. Tanggung jawab itu adalah sesuatu yang kita anggap serius, dan tercermin dalam setiap lapisan arsitektur KamoCRM, dari database ke keseimbangan beban.

At the foundation, we run YugabyteDB as our primary data store. YugabyteDB is a distributed SQL database that replicates data across multiple nodes with automatic failover. If a node goes down, the cluster continues operating without data loss or manual intervention. On top of that, our application layer consists of over 64 stateless microservices running on Kubernetes via RKE2. Because each service is stateless, any instance can be replaced or scaled without affecting the others.

Real- waktu komunikasi menambahkan lain lapisan kompleksitas. Konferensi video, pesan, dan panggilan telepon semua membutuhkan koneksi gigih dan lambat rendah. Kami menangani hal ini dengan Janus WebRTC untuk media dan NATS JetStream untuk menengahi pesan, keduanya ditempatkan dalam konfigurasi yang sangat tersedia di cluster kami. Bahkan lapisan penyimpanan berkas kami, didukung oleh MinIO, dikonfigurasi dengan penghapus coding untuk daya tahan data.

Hasilnya adalah sistem tanpa komponen tunggal yang kegagalannya menghancurkan sisanya. Update kapal beberapa kali sehari sebagai penggulir bergulir, sehingga melepaskan tidak biaya tersedia. Ribuan metrik dilacak hidup, dan on- call insinyur mendengar tentang anomali dalam hitungan detik. Itulah yang duduk di belakang angka 99,9%.

Tim Kamo

Orang yang menulis kode