Uptime sio uuzaji wa metriki kwetu. Ni kizuizi cha uhandisi ambacho kinaunda kila uamuzi tunayofanya. Wakati biashara yako yote inafanya kazi kwenye jukwaa moja, muda wa chini sio usumbufu. Hii ni kuacha kabisa. Wajibu huo ni kitu ambacho tunachukua kwa umakini, na inaakisiwa katika kila safu ya usanifu wa KamoCRM, kutoka kwa database hadi mizani ya mzigo.
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.
Mawasiliano ya wakati halisi huongeza safu nyingine ya utata. Mkutano wa video, ujumbe, na simu zote zinahitaji uhusiano unaoendelea na latency ya chini. Tunashughulikia hili na Janus WebRTC kwa vyombo vya habari na NATS JetStream kwa udalali wa ujumbe, wote uliotumika katika mipangilio inayopatikana sana kwenye nguzo yetu. Hata safu yetu ya kuhifadhi faili, inayotumiwa na MinIO, imesanidiwa na coding ya kufuta kwa muda mrefu wa data.
Matokeo yake ni mfumo ambapo hakuna sehemu moja ni hatua ya kushindwa. Sisi kupeleka updates mara nyingi kwa siku kwa kutumia kupelekwa rolling kwamba kuhakikisha sifuri downtime. Mstari wetu wa ufuatiliaji unafuatilia maelfu ya metriki kwa wakati halisi, na timu yetu ya uhandisi ya simu inaarifiwa ndani ya sekunde za shida yoyote. Hii ni uhandisi nyuma ya idadi ya uptime ya 99.9%, na tunaendelea kusukuma kuifanya hata bora.