KamoCRM

Blog

Mühendislik Mühendisliği10 Mart 20266 min okuma

Mimarlık %99.9'un Arkasında

Uptime bizim için bir pazarlama metrik değil. Yaptığımız her kararı şekillendiren bir mühendislik kısıtlaması. Tüm işinizin tek bir platformda çalıştığı zaman, downtime bir rahatsızlık değildir. Tam bir duraktır. Bu sorumluluk ciddiye aldığımız bir şeydir ve KamoCRM mimarisinin her katmanına, veritabanından yük bakiyesine yansıtılır.

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.

Gerçek zamanlı iletişim, başka bir karmaşıklık katmanı ekliyor. Video konferans, mesajlaşma ve telefon tüm kalıcı bağlantıları ve düşük gecikmeleri gerektirir. Bunu, Janus WebRTC ile medya ve NATS JetStream ile mesaj brokeri için yönetiyoruz, her ikisi de kümemizdeki son derece mevcut konfigürasyonlarda dağıtıldı. MinIO tarafından desteklenen dosya depolama katmanımız bile, veri dayanıklılık için dönem kodlama ile yapılandırılır.

Sonuç, başarısızlığın geri kalanını aldığı tek bir bileşenle bir sistemdir. Kamyon dağıtımları olarak günde birkaç kez Güncellemeler, bu yüzden salıverme uygun maliyetli değildir. Binlerce metrik canlı takip edilir ve on-call mühendisi birkaç saniye içinde bir anomali hakkında duyar. Bu,% 99.9'un arkasında oturan şeydir.

Kamo Team

Kodu yazan insanlar