Dendrite、Matrixプロトコルを実装した通信サーバー

Dendriteは通信サーバーです それは マトリックスチームによって開発されました また、第XNUMX世代のMatrixサーバーコンポーネントの実装として位置付けられています。

Pythonで記述されたSynapseリファレンスサーバーとは異なり、DendriteコードはGoで開発されています。 両方の公式実装は、Apache2.0ライセンスの下で配布されます。

Rumaプロジェクトの一環として、マトリックスサーバーの別のバージョンがRust言語で開発されており、MITライセンスの下で配布されています。

新しいサーバー 高効率、信頼性、スケーラビリティの実現を目指しています。

デンドライトについて

デンドライト パフォーマンスの点でSynapseよりも進んでいます。 動作に必要なメモリがはるかに少なく、複数のノード間で負荷分散することで拡張できます。

デンドライトアーキテクチャ 水平スケーリングをサポートし、マイクロサービスの形でドライバーの分離に依存します。 ここで、マイクロサービスの各インスタンスは、データベース内に独自のテーブルを持っています。

ロードバランサーは、マイクロサービスに呼び出しを送信する責任があります。 スレッド(goルーチン)は、コード内の操作を並列化するために使用されます。これにより、すべてのCPUコアのリソースを個別のプロセスに分割せずに使用できます。

デンドライト モノリシックとマルチコンポーネントのXNUMXつのモードでの作業をサポート (ポリリス)。

  • モノリシックモードでは、 すべてのマイクロサービスは実行可能ファイルにリンクされ、プロセスで実行され、相互に直接対話します。
  • マルチコンポーネントモードの場合 (クラスター)、マイクロサービスは、異なるノードに多様性がある場合でも、個別に起動できます。 マルチコンポーネントモードでのコンポーネントの相互作用は、内部HTTPAPIとApacheKafkaプラットフォームを使用して実行されます。

開発は、Matrixプロトコルの仕様に基づいて、Synapseを使用した一般的なsytestテストと新しいComplementスイートのXNUMXセットのテストを使用して実行されます。

開発の現段階では、Dendriteは56%のテストに合格しています。 クライアントサーバーAPIの77%とフェデレーションAPIテストの70%が、実際の機能カバレッジはクライアントサーバーAPIで95%、フェデレーションAPIでXNUMX%と推定されています。

ベータ段階は、Dendriteが初期展開の準備ができていることを示しています そして、定期的な新しいリリースによる開発への移行。 リリース間で、データベースストレージスキーマが更新されます(リポジトリからチャンクをインストールする場合とは異なり、更新後、データベースの内容が失われることはありません)。

下位互換性を損なう、データベース構造を変更する、または構成の変更を必要とする変更は、メジャーリリースでのみ提供されます。

とりあえず、 PostgreSQLDBMSと一緒にモノリシックモードでDendriteを使用することをお勧めします 小さなホームサーバーとP2Pノードを作成します。 同時操作の処理に関する未解決の問題があるため、SQLiteの使用はまだ推奨されていません。

まだ実装されていない機能 デンドライトで incluyen:メッセージの確認、ブックマーク、プッシュ通知、OpenID、電子メールリンク、サーバー側検索、ユーザーディレクトリ、ユーザー無視リスト、グループとコミュニティの作成、ユーザーのオンラインプレゼンスの評価、ゲスト入力、サードパーティネットワークとの相互作用。

チャットルームの操作に関する基本機能(作成、招待、認証ルール)、ルーム内の参加者のフェデレーションの手段、オフラインから戻った後のイベントの同期、アカウント、プロファイル、ダイヤル表示、ダウンロードおよびアップロード編集ファイル(Media API)は、メッセージ、ACL、タグ付け、エンドツーエンドの暗号化デバイスおよびキーリストに使用できます。

それを思い出して 分散型通信を整理するためのプラットフォームMatrixはHTTPS + JSONを使用します WebSocketまたはCoAP + Noiseに基づくプロトコルを使用する機能を備えたトランスポートとして。 このシステムは、相互に対話できるサーバーのコミュニティとして形成され、共通の分散型ネットワークに統合されています。

メッセージはすべてのサーバーに複製されます メッセージング参加者が接続されている。 メッセージは、コミットがGitリポジトリ間で伝播されるのと同様の方法でサーバー間で伝播されます。

出典 https://matrix.org


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。