Hoʻokuʻu kikowaena matrix , ka mea i hōʻailona i ka hoʻololi o ka hoʻomohala ʻana i ka pae hoʻāʻo beta. Ke hoʻomohala ʻia nei ʻo Dendrite e ka hui kumu o nā mea hoʻomohala o ka platform kamaʻilio decentralized Matrix a ua hoʻonoho ʻia ʻo ia ma ke ʻano he hoʻokō o ka lua o nā ʻāpana kikowaena Matrix. ʻAʻole like me ke kikowaena kuhikuhi , kākau ʻia ma Python, code Dendrite ma ka ʻōlelo Go. Ua laikini ʻia nā hoʻokō mana ʻelua ma lalo o ka laikini Apache 2.0. Ma nā palena o ka papahana Ke kūkulu ʻia nei kahi mana o ka server Matrix ma ka ʻōlelo Rust, ʻo ia hoʻi ma lalo o ka laikini MIT.
Ke kuhi nei ke kikowaena hou i ka hoʻokō ʻana i ka pono kiʻekiʻe, ka hilinaʻi a me ka scalability. ʻOi aku ka maikaʻi o Dendrite i ka Synapse, koi ʻoi aku ka liʻiliʻi o ka hoʻomanaʻo e hana, a hiki ke hoʻonui ʻia ma o ke kaupaona ʻana ma waena o nā node. Kākoʻo ka hale hoʻolālā Dendrite i ka scaling ākea a hoʻokumu ʻia ma ka hoʻokaʻawale ʻana o nā mea lawelawe ma ke ʻano o nā microservices, kahi i loaʻa i kēlā me kēia microservice kona mau papa ponoʻī i ka waihona. Hoʻouna ka load balancer i nā kelepona i nā microservices. No ka hoʻohālikelike ʻana i nā hana ma ke code, hoʻohana ʻia nā threads (go routines), e ʻae iā ʻoe e hoʻohana i nā kumuwaiwai o nā cores CPU āpau me ka ʻole e hoʻokaʻawale iā lākou i nā kaʻina kaʻawale.
Kākoʻo ʻo Dendrite i ʻelua mau ʻano: monolithic a me polylith. Ma ke ʻano monolithic, hoʻopili ʻia nā microservice a pau i hoʻokahi faila hiki ke hoʻokō ʻia, hoʻokō ʻia i hoʻokahi kaʻina hana, a pili pono kekahi i kekahi. Ma ke ʻano multi-component (cluster), hiki ke hoʻokaʻawale ʻia nā microservices, me ka puʻunaue ʻana i nā node like ʻole. Ka pilina o nā mea i loko
Hoʻohana ʻia ka mode multi-component me ka hoʻohana ʻana i ka API HTTP kūloko a me ka paepae .
Hana ʻia ka hoʻomohala ʻana ma muli o nā kikoʻī protocol Matrix a me ka hoʻohana ʻana i ʻelua suites hoʻāʻo - nā hoʻokolohua maʻamau i Synapse a me kahi hoʻonohonoho hou . I kēia manawa o ka hoʻomohala ʻana, ua hala ʻo Dendrite i ka 56% o nā ho'āʻo API Client-Server a me 77% o nā ho'āʻo API Federation, aʻo ka uhi ʻana o ka hana maoli i manaʻo ʻia ma 70% no Client-Server API a me 95% no Federation API.
Hōʻike ka pae hoʻāʻo beta ua mākaukau ʻo Dendrite no ka hoʻokō mua a me ka hoʻololi ʻana i ka hoʻomohala ʻana me nā hoʻokuʻu hou i hoʻokumu ʻia i kēlā me kēia manawa. Ma waena o nā hoʻokuʻu ʻana, e hoʻonui hou ʻia ka papahana mālama ʻikepili i ka waihona (ʻaʻole e like me ka hoʻokomo ʻana i nā ʻāpana mai ka waihona, ʻaʻole e nalowale nā mea o ka waihona ma hope o ka hoʻohou). E hāʻawi wale ʻia nā hoʻololi e uhaʻi i hope, hoʻololi i ka ʻōnaehana waihona, a i ʻole e koi i nā hoʻololi hoʻonohonoho. Manaʻo ʻia ʻo Dendrite e hoʻohana ʻia i ke ʻano monolithic i hui pū me ka PostgreSQL DBMS e hana i nā homeservers liʻiliʻi a me nā node P2P. ʻAʻole ʻōlelo ʻia ka hoʻohana ʻana iā SQLite ma muli o nā pilikia i hoʻoholo ʻole ʻia me ka lawelawe ʻana i nā hana like.
ʻO nā hiʻohiʻona ʻaʻole i hoʻokō ʻia ma Dendrite e pili ana i ka hōʻoia ʻana i ka loaʻa ʻana o ka memo, heluhelu i nā māka, nā leka hoʻomaopopo, OpenID, ka leka uila, ka huli ʻaoʻao server, ka papa kuhikuhi mea hoʻohana, nā papa inoa hoʻohana ʻole, ka hoʻokumu ʻana i nā hui a me nā kaiāulu, ka loiloi ʻana i ka hele ʻana o ka mea hoʻohana ma ka pūnaewele, nā hoʻokomo malihini, ka launa pū me nā pūnaewele ʻaoʻao ʻekolu.
Loaʻa no ka hoʻohana ʻana i nā hana maʻamau no nā lumi kamaʻilio (hana, kono ʻia, nā lula hōʻoia), ʻo ke ʻano o ka hui ʻana o nā mea komo i loko o nā lumi, ka hoʻonohonoho ʻana o nā hanana ma hope o ka hoʻi ʻana mai waho, nā moʻokāki, nā ʻaoʻao, ke kelepona ʻana, ka hoʻoiho ʻana a me ka hoʻouka ʻana i nā faila (Media API), hoʻoponopono i nā memo, ACL, hoʻopaʻa inoa a hana pū me nā papa inoa o nā mea hana a me nā kī no ka hoʻopili ʻana i ka hopena.
E hoʻomanaʻo kākou ʻo ka paepae no ka hoʻonohonoho ʻana i nā kamaʻilio decentralized ʻo Matrix e hoʻohana iā HTTPS+JSON ma ke ʻano he halihali me ka hiki ke hoʻohana i nā WebSockets a i ʻole kahi protocol e pili ana i +. Hoʻokumu ʻia ka ʻōnaehana ma ke ʻano he kaiāulu o nā kikowaena hiki ke launa pū kekahi me kekahi a hoʻohui ʻia i kahi pūnaewele decentralized maʻamau. Hoʻopili hou ʻia nā memo ma nā kikowaena āpau kahi i hoʻopili ʻia ai ka poʻe memo. Hoʻolaha ʻia nā memo ma waena o nā kikowaena e like me ka hoʻolaha ʻana o nā commit ma waena o nā waihona Git. I ka wā o ka pau ʻana o ka server no ka manawa pōkole, ʻaʻole nalowale nā memo, akā hoʻouna ʻia i nā mea hoʻohana ma hope o ka hoʻomaka ʻana o ka hana. Kākoʻo ʻia nā koho ID mea hoʻohana like ʻole, me ka leka uila, helu kelepona, Facebook moʻokāki, etc.
ʻAʻohe wahi o ka hāʻule ʻole a i ʻole ka mana memo ma waena o ka pūnaewele. ʻO nā kikowaena āpau i uhi ʻia e ka kūkākūkā ʻana ua like kekahi me kekahi.
Hiki i kēlā me kēia mea hoʻohana ke holo i kā lākou kikowaena ponoʻī a hoʻohui iā ia i kahi pūnaewele maʻamau. Hiki ke hana no ka launa pū ʻana o Matrix me nā ʻōnaehana e pili ana i nā protocol ʻē aʻe, no ka laʻana, nā lawelawe no ka hoʻouna ʻana i nā leka ʻelua i IRC, Facebook, Telegram, Skype, Hangouts, Email, WhatsApp a me Slack. Ma waho aʻe o ka leka uila a me nā kamaʻilio, hiki ke hoʻohana ʻia ka ʻōnaehana e hoʻoili i nā faila, hoʻouna i nā leka hoʻomaopopo,
ka hoʻonohonoho ʻana i nā teleconferences, ka leo a me nā kelepona wikiō. Kākoʻo ia i nā hiʻohiʻona kiʻekiʻe e like me ka hoʻolaha ʻana o ka paʻi ʻana, ka loiloi o ka mea hoʻohana ma ka pūnaewele, heluhelu i ka hōʻoia ʻana, nā leka hoʻolaha, ʻimi ʻaoʻao server, ka hoʻonohonoho ʻana o ka mōʻaukala a me ke kūlana o ka mea kūʻai aku.
Source: opennet.ru
