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.

Di yayasan, kami menjalankan Yugabita teDB sebagai toko data utama kami. Yugabyte teDB adalah basis data SQL yang didistribusikan yang mereplikasi data di beberapa node dengan pengasih otomatis. Jika node turun, cluster terus beroperasi tanpa kehilangan data atau intervensi manual. Selain itu, lapisan aplikasi kami terdiri dari 64 mikromer tanpa status yang berjalan di Kubernetes melalui RKE2. Karena setiap layanan tanpa status, setiap instansi dapat diganti atau skala tanpa mempengaruhi yang lain.

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 di mana tidak ada komponen tunggal adalah titik kegagalan. Kami menyebarkan pemutakhiran berkali-kali setiap hari menggunakan pengiriman rolling yang menjamin nol downtime. Monitor kami melacak ribuan metrik secara real time, dan tim teknisi kami diberitahu dalam hitungan detik dari anomali apapun. Ini adalah teknik di balik nomor uptime 99,9%, dan kami terus-menerus mendorong untuk membuatnya lebih baik.

Tim Kamo

Membangun masa depan operasi bisnis