Шинэ сервер нь өндөр үр ашиг, найдвартай байдал, өргөтгөх чадварыг бий болгоход чиглэгддэг. Дендрит нь Synapse-ээс илүү сайн, ажиллахад мэдэгдэхүйц бага санах ой шаарддаг бөгөөд олон зангилааны ачааллыг тэнцвэржүүлэх замаар масштаблах боломжтой. Dendrite архитектур нь хэвтээ масштабыг дэмждэг бөгөөд бичил үйлчилгээний инстанц бүр мэдээллийн санд өөрийн гэсэн хүснэгттэй байдаг микро үйлчилгээний хэлбэрээр зохицуулагчдыг салгахад суурилдаг. Ачаалал тэнцвэржүүлэгч нь микро үйлчилгээ рүү дуудлага илгээдэг. Код дахь үйлдлүүдийг зэрэгцүүлэхийн тулд бүх CPU цөмүүдийн нөөцийг тусад нь процесс болгон хуваахгүйгээр ашиглах боломжийг олгодог урсгалуудыг (go ruutines) ашигладаг.
Dendrite нь цул ба полилит гэсэн хоёр горимыг дэмждэг. Монолит горимд бүх микро үйлчилгээнүүд нь нэг гүйцэтгэгдэх файлд багцлагдсан, нэг процессоор хийгдэж, бие биетэйгээ шууд харьцдаг. Олон бүрэлдэхүүн хэсэг (кластер) горимд микро үйлчилгээг тусад нь ажиллуулж болно, үүнд янз бүрийн зангилаагаар тарааж болно. Бүрэлдэхүүн хэсгүүдийн харилцан үйлчлэл
Олон бүрэлдэхүүн хэсгийн горимыг дотоод HTTP API болон платформ ашиглан гүйцэтгэдэг
Хөгжүүлэлт нь матрицын протоколын үзүүлэлтүүд дээр тулгуурлан, Synapse-д түгээмэл хэрэглэгддэг хоёр туршилтын багцыг ашиглан хийгддэг.
Бета туршилтын үе шат нь Dendrite нь эхний ээлжинд хэрэгжиж, үе үе бий болсон шинэ хувилбаруудтай хөгжүүлэлт рүү шилжихэд бэлэн байгааг харуулж байна. Хувилбаруудын хооронд өгөгдлийн сан дахь өгөгдөл хадгалах схем одоо шинэчлэгдэх болно (репозитороос зүсмэлүүдийг суулгахаас ялгаатай нь шинэчлэлтийн дараа мэдээллийн сангийн агуулга алга болохгүй). Буцах нийцтэй байдлыг эвдэж, өгөгдлийн сангийн бүтцийг өөрчилсөн эсвэл тохиргоонд өөрчлөлт оруулах шаардлагатай өөрчлөлтүүдийг зөвхөн томоохон хувилбаруудад санал болгоно. Дендритийг одоогоор PostgreSQL DBMS-тэй хамт жижиг гэрийн сервер болон P2P зангилаа үүсгэхийн тулд цул горимд ашиглахыг зөвлөж байна. Зэрэгцсэн үйлдлүүдтэй холбоотой шийдэгдээгүй асуудлуудын улмаас SQLite ашиглахыг хараахан зөвлөдөггүй.
Dendrite-д хараахан хэрэгжээгүй байгаа функцууд нь мессеж хүлээн авсан баталгаажуулалт, уншсан тэмдэг, түлхэх мэдэгдэл, OpenID, цахим шуудангаар холбох, серверийн хайлт, хэрэглэгчийн лавлах, хэрэглэгчийн үл тоомсорлох жагсаалт, бүлэг болон нийгэмлэг үүсгэх, хэрэглэгчийн онлайн байгаа байдлыг үнэлэх, зочдын оролт, гуравдагч талын сүлжээнүүдтэй харилцах.
Чатын өрөөнүүдийн үндсэн функцууд (үүсгэх, урих, баталгаажуулах дүрэм), өрөөнд оролцогчдыг нэгтгэх хэрэгсэл, офлайнаас буцаж ирсний дараа үйл явдлыг синхрончлох, данс, профайл, залгах заалт, файл татаж авах, байршуулах (Media API), ашиглах боломжтой. мессежийг засварлах, ACL, шошго холбох, төхөөрөмжүүдийн жагсаалт, төгсгөл хүртэлх шифрлэлтийн түлхүүрүүдтэй ажиллах.
Төвлөрсөн бус харилцаа холбоог зохион байгуулах платформ матриц нь HTTPS+JSON-ийг WebSockets эсвэл протокол дээр суурилсан тээврийн хэрэгсэл болгон ашигладаг гэдгийг санацгаая.
Сүлжээгээр дамжих ганц цэг эсвэл мессежийн хяналт байхгүй. Хэлэлцүүлэгт хамрагдсан бүх серверүүд хоорондоо тэнцүү байна.
Ямар ч хэрэглэгч өөрийн серверийг ажиллуулж, нийтлэг сүлжээнд холбох боломжтой. Үүнийг бий болгох боломжтой
теле хурал зохион байгуулах, дуут болон видео дуудлага хийх. Энэ нь мөн бичих тухай мэдэгдэл, хэрэглэгчийн онлайн байгааг үнэлэх, уншсан баталгаажуулалт, түлхэх мэдэгдэл, серверийн хайлт, түүх болон үйлчлүүлэгчийн статусыг синхрончлох зэрэг дэвшилтэт функцуудыг дэмждэг.
Эх сурвалж: opennet.ru