Hoʻokuʻu ʻia ʻo Dendrite 0.1.0, kahi kikowaena kamaʻilio me kahi hoʻokō o ka protocol Matrix

paʻi ʻia Hoʻokuʻu kikowaena matrix Dendrite 0.1.0, 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 Synapse, kākau ʻia ma Python, code Dendrite ke ulu nei 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 Ruma Ke kūkulu ʻia nei kahi mana o ka server Matrix ma ka ʻōlelo Rust, ʻo ia hoʻi mahele ʻia e 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.

Hoʻokuʻu ʻia ʻo Dendrite 0.1.0, kahi kikowaena kamaʻilio me kahi hoʻokō o ka protocol Matrix

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 Apache Kafka.

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 sytest a me kahi hoʻonohonoho hou Hoʻopiha. 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 Pāpale+Noise. 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 puka puka no ka launa pū ʻana o Matrix me nā ʻōnaehana e pili ana i nā protocol ʻē aʻe, no ka laʻana, hoomakaukauia 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

Pākuʻi i ka manaʻo hoʻopuka