Matrix protokolünün uygulanmasına sahip bir iletişim sunucusu olan Dendrite

Dendrite bir iletişim sunucusudur bu olmak Matrix ekibi tarafından geliştirildi ve ikinci nesil Matrix sunucu bileşenlerinin bir uygulaması olarak konumlandırılmıştır.

Python'da yazılan Synapse referans sunucusunun aksine Dendrite kodu Go'da geliştirildi. Her iki resmi uygulama da Apache 2.0 lisansı altında dağıtılmaktadır.

Ruma projesi kapsamında Matrix sunucusunun MIT lisansı altında dağıtılan Rust dilinde ayrı bir sürümü geliştiriliyor.

Yeni sunucu yüksek verimlilik, güvenilirlik ve ölçeklenebilirlik elde etmeyi amaçlamaktadır.

Dendrit Hakkında

Dendrite performans açısından Synapse'ın ilerisindedir, Çalıştırmak için çok daha az bellek gerektirir ve birden fazla düğüm arasında yük dengeleme yoluyla ölçeklenebilir.

Dendrit mimarisi Yatay ölçeklendirmeyi destekler ve denetleyicilerin mikro hizmetler biçiminde ayrılmasına dayanır, burada bir mikro hizmetin her örneğinin veritabanında kendi tabloları vardır.

Yük dengeleyici, çağrıların mikro hizmetlere gönderilmesinden sorumludur. Koddaki işlemleri paralelleştirmek için, tüm CPU çekirdeklerinin kaynaklarının ayrı işlemlere bölünmeden kullanılmasına olanak tanıyan iş parçacıkları (go rutinleri) kullanılır.

Dendrite iki modda çalışmayı destekler: monolitik ve çok bileşenli (polilit).

  • Monolitik modda, tüm mikro hizmetler yürütülebilir bir dosyaya bağlanır, bir süreçte çalıştırılır ve birbirleriyle doğrudan etkileşime girer.
  • Çok bileşenli modda (küme), mikro hizmetler farklı düğümlerdeki çeşitlilikle bile ayrı ayrı başlatılabilir. Çok bileşenli modda bileşenlerin etkileşimi, dahili HTTP API ve Apache Kafka platformu kullanılarak gerçekleştirilir.

Geliştirme, Matrix protokolü spesifikasyonlarına dayalı olarak ve iki test paketi kullanılarak gerçekleştirilir: Synapse ile ortak sistem testleri ve yeni Complement paketi.

Geliştirmenin mevcut aşamasında Dendrite testlerin %56'sını başarıyla geçiyor istemci-sunucu API'si ve federasyon API testinin %77'si; gerçek işlevsellik kapsamı ise istemci-sunucu API'si için %70 ve federasyon API'si için %95 olarak tahmin edilmektedir.

Beta aşaması, Dendrite'ın ilk dağıtıma hazır olduğunu gösterir ve periyodik yeni sürümlerle geliştirmeye geçiş. Sürümler arasında, veritabanı depolama şeması artık güncellenecektir (depo parçalarının kurulmasından farklı olarak, güncelleme sonrasında veritabanı içerikleri kaybolmayacaktır).

Geriye dönük uyumluluğu bozan, veritabanı yapısını değiştiren veya yapılandırma değişiklikleri gerektiren değişiklikler yalnızca ana sürümlerde sunulacaktır.

Şimdilik Dendrite'ın PostgreSQL DBMS ile birlikte monolitik modda kullanılması önerilir. küçük ev sunucuları ve P2P düğümleri oluşturmak için. Eşzamanlı işlemlerin yürütülmesiyle ilgili çözülmemiş sorunlar nedeniyle SQLite kullanılması hala önerilmez.

Henüz uygulanmayan özellikler Dendritte bunlar- Mesaj onayları, okuma işaretleri, anlık bildirimler, OpenID, e-posta bağlantısı, sunucu tarafı arama, kullanıcı dizini, kullanıcı yoksayma listeleri, gruplar ve topluluklar oluşturma, kullanıcının çevrimiçi varlığını değerlendirme, misafir girişi, üçüncü taraf ağlarla etkileşim.

Sohbet odalarının işleyişine yönelik temel işlevler (oluşturma, davetler, kimlik doğrulama kuralları), odalarda katılımcıların birleştirilmesi araçları, çevrimdışından döndükten sonra etkinliklerin senkronizasyonu, hesaplar, profiller, arama göstergesi, dosyaların indirilmesi ve yüklenmesi (Medya API), düzenleme mesajlar, ACL'ler, etiketleme ve anahtar listeleri ve uçtan uca şifreleme cihazları kullanıma açıktır.

Bunu unutma merkezi olmayan iletişimleri organize etmeye yönelik platform Matrix, HTTPS + JSON kullanıyor WebSockets veya CoAP + Noise tabanlı protokolü kullanma yeteneğine sahip bir aktarım olarak. Sistem, birbirleriyle etkileşime girebilen ve ortak bir merkezi olmayan ağ halinde birleştirilen sunuculardan oluşan bir topluluk olarak oluşturulmuştur.

Mesajlar tüm sunucularda çoğaltılır mesajlaşma katılımcılarının bağlı olduğu yer. İletiler, Git depoları arasındaki taahhütlerin yayılmasına benzer şekilde sunucular arasında yayılır.

kaynak: https://matrix.org


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.