Máy chủ mới nhằm đạt được hiệu quả, độ tin cậy và khả năng mở rộng cao. Dendrite hoạt động tốt hơn Synapse, cần ít bộ nhớ hơn để hoạt động và có thể mở rộng quy mô thông qua cân bằng tải trên nhiều nút. Kiến trúc Dendrite hỗ trợ mở rộng theo chiều ngang và dựa trên sự phân tách các trình xử lý dưới dạng microservice, trong đó mỗi phiên bản microservice có các bảng riêng trong cơ sở dữ liệu. Bộ cân bằng tải sẽ gửi lệnh gọi đến các vi dịch vụ. Để song song hóa các hoạt động trong mã, các luồng (thói quen đi) được sử dụng, cho phép bạn sử dụng tài nguyên của tất cả các lõi CPU mà không cần chia chúng thành các tiến trình riêng biệt.
Dendrite hỗ trợ hai chế độ: nguyên khối và đa khối. Ở chế độ nguyên khối, tất cả các vi dịch vụ được đóng gói trong một tệp thực thi duy nhất, được thực thi trong một quy trình duy nhất và tương tác trực tiếp với nhau. Ở chế độ nhiều thành phần (cụm), các dịch vụ vi mô có thể được khởi chạy riêng biệt, bao gồm cả việc phân phối trên các nút khác nhau. Tương tác của các thành phần trong
chế độ đa thành phần được thực hiện bằng cách sử dụng nền tảng và API HTTP nội bộ
Việc phát triển được thực hiện dựa trên các thông số kỹ thuật của giao thức Matrix và sử dụng hai bộ thử nghiệm - các thử nghiệm chung cho Synapse
Giai đoạn thử nghiệm beta cho thấy Dendrite đã sẵn sàng cho giai đoạn triển khai ban đầu và chuyển sang giai đoạn phát triển với các bản phát hành mới được hình thành định kỳ. Giữa các bản phát hành, sơ đồ lưu trữ dữ liệu trong cơ sở dữ liệu sẽ được cập nhật (không giống như cài đặt các lát từ kho lưu trữ, nội dung của cơ sở dữ liệu sẽ không bị mất sau khi cập nhật). Những thay đổi phá vỡ khả năng tương thích ngược, thay đổi cấu trúc cơ sở dữ liệu hoặc yêu cầu thay đổi cấu hình sẽ chỉ được cung cấp trong các bản phát hành chính. Dendrite hiện được khuyến nghị sử dụng ở chế độ nguyên khối kết hợp với PostgreSQL DBMS để tạo các máy chủ gia đình nhỏ và các nút P2P. Việc sử dụng SQLite vẫn chưa được khuyến khích do các vấn đề chưa được giải quyết khi xử lý các hoạt động đồng thời.
Các tính năng chưa được triển khai trong Dendrite bao gồm xác nhận nhận tin nhắn, dấu đọc, thông báo đẩy, OpenID, liên kết email, tìm kiếm phía máy chủ, thư mục người dùng, danh sách bỏ qua của người dùng, tạo nhóm và cộng đồng, đánh giá sự hiện diện trực tuyến của người dùng, thông tin đầu vào của khách, tương tác với mạng của bên thứ ba.
Có sẵn để sử dụng là các chức năng cơ bản cho phòng trò chuyện (tạo, mời, quy tắc xác thực), phương tiện liên kết những người tham gia trong phòng, đồng bộ hóa các sự kiện sau khi trở về từ ngoại tuyến, tài khoản, hồ sơ, chỉ báo quay số, tải xuống và tải lên tệp (API phương tiện), chỉnh sửa tin nhắn, ACL, liên kết thẻ và làm việc với danh sách thiết bị và khóa để mã hóa hai đầu.
Chúng ta hãy nhớ lại rằng nền tảng tổ chức truyền thông phi tập trung Matrix sử dụng HTTPS+JSON làm phương tiện truyền tải với khả năng sử dụng WebSockets hoặc giao thức dựa trên
Không có điểm lỗi hoặc kiểm soát tin nhắn nào trên mạng. Tất cả các máy chủ được thảo luận đều bình đẳng với nhau.
Bất kỳ người dùng nào cũng có thể chạy máy chủ của riêng mình và kết nối nó với một mạng chung. Có thể tạo ra
tổ chức hội nghị từ xa, thực hiện cuộc gọi thoại và video. Nó cũng hỗ trợ các tính năng nâng cao như thông báo gõ, đánh giá sự hiện diện trực tuyến của người dùng, xác nhận đọc, thông báo đẩy, tìm kiếm phía máy chủ, đồng bộ hóa lịch sử và trạng thái máy khách.
Nguồn: opennet.ru