- 한국어

회사연혁3월 10, 20266 분 읽음

99.9% 가동 시간 뒤에 건축술

가동 시간은 저희를 위한 마케팅 미터가 아닙니다. 우리가 만드는 모든 결정을 형성하는 엔지니어링 제약입니다. 전체 비즈니스가 단일 플랫폼에서 작동 할 때 다운 타임은 불편하지 않습니다. 그것은 가득 차있는 정지입니다. 그 책임은 우리가 심각하게 가지고 가는 무언가이고 KamoCRM 건축의 각 층에 반영됩니다, 데이타베이스에서 짐 밸런서에.

기초에, 우리는 우리의 1 차적인 자료 상점으로 YugabyteDB를 실행합니다. YugabyteDB는 자동 실패로 여러 노드에서 데이터를 복제하는 분산 SQL 데이터베이스입니다. 노드가 다운되면 클러스터는 데이터 손실 또는 수동 개입없이 계속 작동합니다. 그 위에, 우리의 신청 층은 RKE2를 통해 쿠버네티스에서 실행되는 64 stateless microservices 이상 이루어져 있습니다. 각 서비스는 stateless이기 때문에, 어떤 인스턴스든지 다른 사람에 영향을 미치지 않고 대체되거나 확장될 수 있습니다.

실시간 통신은 복잡성의 다른 층을 추가합니다. 비디오 conferencing, messaging 및 전화는 모든 지속적 연결과 낮은 대기 시간을 요구합니다. 우리는 미디어 및 NATS JetStream에 대한 Janus WebRTC와이를 처리, 모두 우리의 클러스터에 걸쳐 높은 사용 가능한 구성에 배치. MinIO에 의해 구동되는 파일 저장 층은 데이터 내구성을위한 지우기 코딩으로 구성됩니다.

결과는 단 하나 성분이 실패의 점인 체계입니다. 롤링 배포를 사용하여 하루에 여러 번 업데이트합니다. 우리의 모니터링 스택은 실제 시간에 미터의 수천을 추적, 그리고 우리의 온 콜 엔지니어링 팀은 어떤 anomaly의 초 안에 경고. 이것은 99.9% 가동 시간 수의 뒤에 기술설계이고, 우리는 그것을 더 나은 만들기 위하여 지속적으로 밀고 있습니다.

카모 팀

사업 운영의 미래 구축