Matrix 프로토콜을 구현 한 통신 서버 Dendrite

Dendrite는 통신 서버입니다. 그게 Matrix 팀에서 개발 XNUMX 세대 Matrix 서버 구성 요소의 구현으로 포지셔닝됩니다.

Python으로 작성된 Synapse 참조 서버와 달리 Dendrite 코드는 Go로 개발되었습니다. 두 공식 구현 모두 Apache 2.0 라이선스에 따라 배포됩니다.

Ruma 프로젝트의 일환으로 Rust 언어로 된 Matrix 서버의 별도 버전이 개발 중이며 MIT 라이선스에 따라 배포됩니다.

새로운 서버 고효율, 신뢰성 및 확장 성을 달성하는 것을 목표로합니다.

Dendrite 정보

수상 돌기 성능면에서 Synapse보다 앞서 있습니다. 작동하는 데 훨씬 적은 메모리가 필요하며 여러 노드에서로드 밸런싱을 통해 확장 할 수 있습니다.

Dendrite 아키텍처 수평 적 확장을 지원하며 마이크로 서비스 형태의 컨트롤러 분리를 기반으로합니다. 마이크로 서비스의 각 인스턴스는 데이터베이스에 자체 테이블을 가지고 있습니다.

로드 밸런서는 마이크로 서비스에 호출을 보내는 역할을합니다. 스레드 (go 루틴)는 코드에서 작업을 병렬화하는 데 사용되므로 모든 CPU 코어의 리소스를 별도의 프로세스로 나누지 않고도 사용할 수 있습니다.

수상 돌기 모 놀리 식 및 다중 구성 요소의 두 가지 모드에서 작업 지원 (폴리리스).

  • 모 놀리 식 모드에서 모든 마이크로 서비스는 실행 파일에 연결되고 프로세스에서 실행되며 서로 직접 상호 작용합니다.
  • 다중 구성 요소 모드 (클러스터), 마이크로 서비스는 서로 다른 노드에서 다양성을 사용하여 개별적으로 시작할 수 있습니다. 다중 구성 요소 모드의 구성 요소 상호 작용은 내부 HTTP API 및 Apache Kafka 플랫폼을 사용하여 수행됩니다.

개발은 Matrix 프로토콜의 사양을 기반으로하고 두 가지 테스트 세트를 사용하여 수행됩니다. Synapse와 새로운 Complement 제품군을 사용한 공통 시스템 테스트입니다.

현재 개발 단계에서 Dendrite는 테스트의 56 %를 성공적으로 통과했습니다. 클라이언트-서버 API 및 연합 API 테스트의 77 %, 실제 기능 범위는 클라이언트-서버 API의 경우 70 %, 연합 API의 경우 95 %로 추정됩니다.

베타 단계는 Dendrite가 초기 배포 준비가되었음을 나타냅니다. 그리고 정기적 인 새 릴리스로 개발로의 전환. 릴리스간에 데이터베이스 저장소 스키마가 업데이트됩니다 (저장소에서 청크를 설치하는 것과 달리 업데이트 후 데이터베이스의 내용이 손실되지 않음).

이전 버전과의 호환성을 깨뜨 리거나 데이터베이스 구조를 변경하거나 구성 변경이 필요한 변경 사항은 주요 릴리스에서만 제공됩니다.

잠시 동안, Dendrite를 PostgreSQL DBMS와 함께 모 놀리 식 모드로 사용하는 것이 좋습니다. 소규모 홈 서버와 P2P 노드를 생성합니다. 동시 작업 처리와 관련된 해결되지 않은 문제로 인해 SQLite 사용은 아직 권장되지 않습니다.

아직 구현되지 않은 기능 Dendrite에서 포함하다: 메시지 확인, 북마크, 푸시 알림, OpenID, 이메일 링크, 서버 측 검색, 사용자 디렉토리, 사용자 무시 목록, 그룹 및 커뮤니티 생성, 사용자의 온라인 존재 평가, 게스트 입력, 타사 네트워크와의 상호 작용.

채팅방 운영을위한 기본 기능 (생성, 초대, 인증 규칙), 회의실 참여자 연합 수단, 오프라인 복귀 후 이벤트 동기화, 계정, 프로필, 다이얼 표시, 편집 파일 다운로드 및 업로드 (Media API) 메시지, ACL, 레이블 지정 및 종단 간 암호화 장치 및 키 목록에 사용할 수 있습니다.

기억하십시오. 탈 중앙화 커뮤니케이션을 구성하는 플랫폼 Matrix는 HTTPS + JSON을 사용합니다. WebSockets 또는 CoAP + Noise 기반 프로토콜을 사용할 수있는 전송으로. 시스템은 서로 상호 작용할 수있는 서버 커뮤니티로 형성되고 공통 분산 네트워크로 결합됩니다.

메시지는 모든 서버에 복제됩니다. 메시징 참가자가 연결되어 있습니다. 메시지는 Git 저장소간에 커밋이 전파되는 방식과 유사한 방식으로 서버간에 전파됩니다.

출처 : https://matrix.org


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.