Kutolewa kwa Syncthing 2.0, mfumo wa ulandanishi wa faili kiotomatiki, kunatangazwa. Data iliyolandanishwa haipakiwi kwenye hifadhi ya wingu, lakini inaigwa moja kwa moja kati ya mifumo ya watumiaji inapoingia mtandaoni kwa wakati mmoja, kwa kutumia itifaki ya BEP (Itifaki ya Kubadilishana Vizuizi) iliyotengenezwa na mradi huo. Syncthing imeandikwa katika Go na kusambazwa chini ya leseni ya MPL ya chanzo huria. Miundo iliyo tayari kutumika inapatikana kwa Linux, Windows, macOS na FreeBSD.
Pamoja na kutatua matatizo ya kusawazisha data kati ya vifaa kadhaa vya mtumiaji mmoja, Syncthing inaweza kutumika kuunda mitandao mikubwa iliyogatuliwa kwa ajili ya kuhifadhi data iliyoshirikiwa ambayo inasambazwa katika mifumo yote ya washiriki. Udhibiti wa ufikiaji na uundaji wa isipokuwa kwa ulandanishi hutolewa. Inawezekana kufafanua wapangishi ambao watapokea data pekee, yaani, mabadiliko ya data kwenye seva pangishi haya hayataonyeshwa katika matukio ya data iliyohifadhiwa kwenye mifumo mingine. Njia kadhaa za matoleo ya faili zinatumika, ambapo matoleo ya awali ya data iliyobadilishwa huhifadhiwa.
Wakati wa maingiliano, faili imegawanywa kimantiki katika vizuizi ambavyo haviwezi kugawanywa wakati wa kuhamisha data kati ya mifumo ya mtumiaji. Wakati wa kusawazisha kwa kifaa kipya, ikiwa kuna vizuizi vinavyofanana kwenye vifaa kadhaa, vitalu vinakiliwa kutoka kwa nodi tofauti, sawa na uendeshaji wa mfumo wa BitTorrent. Kadiri vifaa vingi vinavyoshiriki katika ulandanishi, ndivyo uigaji wa data mpya utakavyokuwa kwa kasi kutokana na kusawazisha. Wakati wa maingiliano ya faili zilizobadilishwa, vizuizi vya data vilivyobadilishwa tu vinahamishwa kwenye mtandao, na wakati wa kubadilisha jina au kubadilisha haki za ufikiaji, metadata pekee ndiyo inayosawazishwa.
Njia za uwasilishaji data huanzishwa kwa kutumia TLS, nodi zote huthibitishana kwa kutumia vyeti na vitambulisho vya kifaa, na SHA-256 hutumika kwa udhibiti wa uadilifu. UPnP inaweza kutumika kutambua nodi za ulandanishi kwenye mtandao wa ndani, na kuondoa hitaji la kuingiza kwa mikono. Anwani za IP Vifaa vilivyosawazishwa. Kwa usanidi na ufuatiliaji wa mfumo, kiolesura cha wavuti kilichojengewa ndani, mteja wa CLI, na GUI kulingana na maktaba ya GTK hutolewa, ambayo pia hutoa zana za kudhibiti nodi na hazina za usawazishaji.
Mabadiliko muhimu katika tawi jipya:
- Mazingira ya nyuma ya hifadhi yamehamishwa kutoka hifadhidata ya LevelDB hadi SQLite. Uhamishaji wa data unafanywa kiotomatiki katika uzinduzi wa kwanza baada ya sasisho. Inachukuliwa kuwa matumizi ya SQLite itarahisisha matengenezo na uchambuzi wa data, na pia kupunguza idadi ya makosa.
- Umbizo la ukataji miti limebadilishwa, na sasa limetolewa kwa muundo uliopangwa (ujumbe + vigezo katika umbizo la thamani-msingi). Kiwango kipya cha kumbukumbu kimeongezwa - ONYO, ambalo halina maelezo ya kina kama INFO, lakini linajumuisha maelezo zaidi kuliko kiwango cha HITILAFU. Sasa inawezekana kugawa viwango tofauti vya kumbukumbu kwa vifurushi tofauti.
- Hifadhi ya milele ya vipengele vilivyofutwa kwenye hifadhidata imesimamishwa; vipengele hivyo sasa vinafutwa baada ya miezi 6 (muda unaweza kubadilishwa kupitia chaguo la "--db-delete-retention-interval").
- Imeboresha msimbo wa chaguzi za mstari wa amri na kuacha kuunga mkono umbizo la dashi moja lililopitwa na wakati (yaani "-nyumbani" inapaswa kubadilishwa na "--nyumbani"). Baadhi ya chaguo zimebadilishwa jina au kuhamishwa hadi kwa amri ndogo.
- Iliacha kuunda saraka chaguo-msingi wakati wa kukimbia kwanza.
- Miunganisho mingi ya mtandao imeanzishwa kati ya vifaa vinavyotumia Syncthing 2.x. Kwa chaguo-msingi, viunganisho vitatu vinaundwa - moja kwa metadata ya index na mbili kwa kubadilishana data.
- Algorithm ya kutatua migogoro katika kesi ya kufuta faili imebadilishwa.
- Kwa sababu ya ugumu wa ujumuishaji mtambuka wa SQLite, mkusanyiko wa faili zilizo tayari kutekelezwa za dragonfly/amd64, illumos/amd64, solaris/amd64, linux/ppc64, netbsd/*, openbsd/386, openbsd/arm na madirisha/majukwaa ya silaha yamezimwa.
Chanzo: opennet.ru
