Hai Habr!
Dangane da abubuwan da ke faruwa a yanzu saboda coronavirus, yawancin ayyukan intanet sun fara samun ƙarin nauyi. Misali, , saboda babu isasshen iya aiki. Kuma ba koyaushe yana yiwuwa a hanzarta uwar garken ta hanyar ƙara ƙarin kayan aiki masu ƙarfi ba, amma buƙatun abokin ciniki dole ne a sarrafa su (ko kuma za su je wurin masu fafatawa).
A cikin wannan labarin, zan ɗan tattauna shahararrun ayyuka waɗanda zasu taimake ku gina sabis mai jurewa da sauri da kuskure. Koyaya, daga yuwuwar tsare-tsaren haɓakawa, Na zaɓi waɗanda ake amfani da su kawai. sauki don amfaniGa kowane abu, ko dai kuna da shirye-shiryen dakunan karatu ko za ku iya magance matsalar ta amfani da dandalin girgije.
Ƙimar kai tsaye
Wannan shine mafi sauƙi kuma sanannen batu. Gabaɗaya magana, tsare-tsaren rarraba kaya guda biyu na yau da kullun sune ma'auni a kwance da a tsaye. Kuna ƙyale ayyuka suyi aiki a layi daya, ta haka za ku rarraba kaya tsakanin su. Kuna yin odar sabobin masu ƙarfi ko inganta lambar.
A matsayin misali, zan ɗauki ma'ajiyar fayil ɗin girgije, wato, wasu analogue na OwnCloud, OneDrive, da sauransu.
Misali na yau da kullun na irin wannan makirci yana ƙasa, amma yana nuna rikitarwar tsarin kawai. Bayan haka, muna buƙatar ko ta yaya daidaita ayyuka. Menene zai faru idan mai amfani ya ajiye fayil daga kwamfutar hannu sannan yana son duba shi akan waya?

Bambanci tsakanin hanyoyin shine cewa a cikin ma'auni na tsaye, muna shirye don ƙara yawan ƙarfin nodes, yayin da a kwance a kwance, muna shirye don ƙara sababbin nodes don rarraba kaya.
CQRS
Wannan kyakkyawan tsari ne mai mahimmanci, saboda yana ba abokan ciniki daban-daban damar ba kawai don haɗawa da ayyuka daban-daban ba har ma don karɓar rafukan taron iri ɗaya. Amfaninsa ba a bayyane suke ba don aikace-aikacen mai sauƙi, amma yana da mahimmanci (kuma mai sauƙi) don sabis mai aiki. Asalinsa shi ne kada magudanan bayanai masu shigowa da masu fita su yi karo da juna. Wato ba za ku iya aika buƙatu da tsammanin amsa ba; maimakon haka, kuna aika buƙatu zuwa sabis na A, amma sami amsa daga sabis na B.
Fa'idar farko ta wannan hanyar ita ce ikon karya haɗin gwiwa (a cikin ma'anar kalmar) yayin doguwar tambaya. Misali, bari mu dauki jerin madaidaitan fiye ko žasa:
- Abokin ciniki ya aika da bukata zuwa uwar garken.
- Sabar ta fara aiki mai tsawo.
- Sabar ta amsa wa abokin ciniki tare da sakamakon.
Bari mu yi tunanin cewa a mataki na 2, haɗin ya katse (ko dai an sake haɗa hanyar sadarwa, ko kuma mai amfani ya kewaya zuwa wani shafi, ya karya haɗin). A wannan yanayin, zai yi wahala uwar garken ta aika da martani ga mai amfani yana sanar da su ainihin abin da aka sarrafa. Amfani da CQRS, jerin zasu ɗan bambanta:
- Abokin ciniki ya yi rajista don sabuntawa.
- Abokin ciniki ya aika da bukata zuwa uwar garken.
- Sabar ta amsa "buƙatar karɓa".
- Sabar ta amsa da sakamakon ta hanyar tashar daga aya "1".

Kamar yadda kake gani, makircin ya ɗan fi rikitarwa. Bugu da ƙari, dabarar amsa buƙatu mai hankali ba ta nan. Koyaya, kamar yadda kuke gani, katsewar haɗin gwiwa yayin sarrafa buƙatun ba zai haifar da kuskure ba. Bugu da ƙari, idan an haɗa mai amfani da sabis ɗin daga na'urori da yawa (misali, wayar hannu da kwamfutar hannu), yana yiwuwa a shirya yadda za a aika da martani ga na'urorin biyu.
Abin sha'awa, lambar don sarrafa saƙonnin masu shigowa ya zama iri ɗaya (ba 100%) ba don duka abubuwan da abokin ciniki ya rinjayi kansa da kuma wasu abubuwan da suka faru, gami da na sauran abokan ciniki.
Koyaya, a zahiri, muna samun ƙarin fa'idodi daga gaskiyar cewa ana iya sarrafa kwararar unidirection da aiki (ta amfani da RX da makamantan hanyoyin). Wannan babbar fa'ida ce, kamar yadda aikace-aikacen za a iya mayar da shi gabaɗaya, ko da ta amfani da tsarin aiki. Don manyan shirye-shirye, wannan na iya rage yawan ci gaba da albarkatun tallafi.
Haɗa wannan hanyar tare da sikelin kwance yana ba da ƙarin fa'idar samun damar aika buƙatun zuwa sabar ɗaya da karɓar amsa daga wani. Wannan yana bawa abokin ciniki damar zaɓar sabis ɗin da suka fi so, yayin da tsarin tushen zai iya aiwatar da abubuwan da suka faru daidai.
Matsalolin Matsala
Kamar yadda kuka sani, ɗayan mahimman fasalulluka na tsarin da aka rarraba shine rashin lokacin raba lokaci ko yanki mai mahimmanci. Don tsari guda ɗaya, zaku iya aiwatar da aiki tare (ta amfani da mutexes), tabbatar da cewa babu wani wanda ke aiwatar da lamba ɗaya. Koyaya, don tsarin da aka rarraba, wannan yana da haɗari, saboda yana buƙatar sama da ƙasa kuma yana cin nasarar manufar scalability-duk abubuwan har yanzu suna jiran iri ɗaya.
Wannan yana haifar da mu zuwa wata muhimmiyar hujja: tsarin da aka rarraba cikin sauri ba zai iya aiki tare ba, saboda wannan zai rage aikin. A daya hannun, sau da yawa muna bukatar wani mataki na daidaito tsakanin sassa. Kuma don wannan, za mu iya amfani da wata hanya tare da , inda aka ba da tabbacin cewa idan babu canje-canjen bayanai a cikin ɗan lokaci bayan sabuntawa na ƙarshe ("ƙarshe"), duk tambayoyin za su dawo da ƙimar da aka sabunta ta ƙarshe.
Yana da mahimmanci a fahimci cewa don bayanan bayanan gargajiya ana amfani da shi sosai , inda kowane kumburi yana da wannan bayanin (wannan ana samun sau da yawa lokacin da aka yi la'akari da kafa ma'amala kawai bayan uwar garken na biyu ya amsa). Akwai wasu annashuwa a nan saboda matakan keɓewa, amma ra'ayin gaba ɗaya ya kasance iri ɗaya-zaku iya rayuwa a cikin cikakkiyar daidaituwar duniya.
Amma bari mu koma ga ainihin matsalar. Idan wani ɓangare na tsarin za a iya gina shi da , to ana iya gina zane mai zuwa.

Muhimman fasali na wannan hanya:
- Ana sanya kowace buƙatun mai shigowa cikin jerin gwano ɗaya.
- Yayin aiwatar da buƙatu, sabis ɗin na iya sanya ayyuka a cikin wasu layukan.
- Kowane taron mai shigowa yana da ID (wanda ake buƙata don cirewa).
- Layin yana aiki akan ƙa'idar "append only". Ba za a iya cire ko sake yin oda ba.
- Layin yana aiki akan FIFO (na farko, farkon-fita). Idan ana buƙatar aiwatar da layi ɗaya, yakamata a matsar da abubuwa zuwa jerin gwano daban-daban a mataki ɗaya.
Bari in tunatar da ku cewa muna yin la'akari da adana fayilolin kan layi. A wannan yanayin, tsarin zai kasance kamar haka:

Yana da mahimmanci a lura cewa ayyukan da ke cikin zanen ba lallai bane suna wakiltar sabar daban. Suna iya ma raba tsari iri ɗaya. Abin da ke da mahimmanci shi ne cewa waɗannan abubuwa sun rabu ta hanyar akida ta yadda za a iya aiwatar da sikelin a kwance cikin sauƙi.
Kuma ga masu amfani guda biyu, zanen zai yi kama da wannan (ayyukan da aka yi nufin masu amfani daban-daban ana yiwa alama cikin launuka daban-daban):

Kyauta daga irin wannan haɗin:
- An raba ayyukan sarrafa bayanai. Hakanan an raba jerin gwano. Idan muna buƙatar haɓaka kayan aikin tsarin, muna buƙatar ƙaddamar da ƙarin ayyuka akan ƙarin sabobin.
- Lokacin da muka karɓi bayanai daga mai amfani, ba lallai ne mu jira don adana bayanan gaba ɗaya ba. Madadin haka, kawai mu amsa "Ok" sannan a hankali mu fara sarrafawa. Hakanan layin yana fitar da kololuwa, saboda ƙara sabon abu yana faruwa da sauri, kuma mai amfani ba zai jira gabaɗayan zagayowar ba.
- A matsayin misali, Na ƙara sabis ɗin cirewa wanda ke ƙoƙarin haɗa fayiloli iri ɗaya. Idan ya ɗauki lokaci mai tsawo don kammalawa a cikin 1% na lokuta, abokin ciniki zai lura da kyar (duba sama), wanda shine babban ƙari, saboda ba mu buƙatar 100% sauri da aminci.
Duk da haka, abubuwan da ke cikin ƙasa suna bayyana nan da nan:
- Tsarinmu baya da tsayayyen daidaito. Wannan yana nufin cewa, alal misali, idan kun shiga cikin sabis daban-daban, zaku iya karɓar jahohi daban-daban a zahiri (tunda ɗayan sabis ɗin bazai da lokacin karɓar sanarwa daga jerin gwano na ciki). Wani sakamakon shi ne cewa tsarin ba shi da lokaci gama gari. Wannan yana nufin, alal misali, cewa ba shi yiwuwa a warware duk abubuwan da suka faru kawai ta lokacin isowa, tunda agogon tsakanin sabobin bazai iya daidaitawa ba (a zahiri, samun lokaci ɗaya akan sabobin biyu shine utopia).
- Babu abubuwan da za a iya juya baya kawai (kamar yadda mutum zai iya tare da bayanan bayanai). Madadin haka, dole ne a ƙara sabon taron- , wanda zai canza yanayin ƙarshe zuwa wanda ake so. A matsayin misali daga irin wannan yanki: ba tare da sake rubuta tarihi ba (wanda ba shi da kyau a wasu lokuta), ba za ku iya mayar da alƙawari a Git ba, amma kuna iya yin na musamman. , wanda da gaske kawai ya mayar da tsohuwar jihar. Koyaya, duka kuskuren da aka yi da kuma sake dawowa za a adana su a cikin tarihi.
- Tsarin bayanan na iya canzawa daga fitarwa zuwa saki, amma tsoffin abubuwan da suka faru ba za su sake samun damar sabunta su zuwa sabon ma'auni ba (tunda ba za a iya canza al'amuran bisa manufa ba).
Kamar yadda kuke gani, Event Sourcing yana aiki da kyau tare da CQRS. Bugu da ƙari, aiwatar da tsarin tare da ingantattun layukan da suka dace ba tare da raba bayanan da ke gudana ba yana da wahala a zahiri, saboda yana buƙatar ƙara abubuwan daidaitawa waɗanda za su kawar da ingantaccen tasirin layin. Yin amfani da hanyoyi guda biyu a lokaci guda yana buƙatar ƙananan gyare-gyare ga lambar shirin. A cikin yanayinmu, lokacin aika fayil zuwa uwar garken, amsar kawai tana mayar da "Ok," wanda kawai ke nufin "aikin ƙara fayil ɗin an ajiye shi." A fasaha, wannan baya nufin an riga an sami bayanai akan wasu na'urori (misali, sabis ɗin cirewa na iya sake gina fihirisar). Koyaya, bayan ɗan lokaci, abokin ciniki zai karɓi sanarwar da ke nuna "An ajiye fayil X."
Saboda:
- Adadin matsayin aika fayil yana ƙaruwa: maimakon "fayil ɗin da aka aika," yanzu mun ga biyu: "fayil ɗin da aka ƙara zuwa layin uwar garke" da "fayil da aka adana zuwa ma'adana." Ƙarshen yana nufin cewa wasu na'urori za su iya fara karɓar fayil ɗin (tare da caveat cewa layukan suna aiki da sauri daban-daban).
- Saboda bayanin ƙaddamarwa yanzu ya zo ta hanyoyi daban-daban, muna buƙatar samar da mafita don samun matsayin sarrafa fayil. Sakamakon haka, ba kamar hanyar amsa buƙatar buƙata ba, ana iya sake kunna abokin ciniki yayin da ake sarrafa fayil ɗin, amma matsayin sarrafawa zai kasance daidai. Bugu da ƙari, wannan fasalin yana aiki da gaske daga cikin akwatin. Sakamakon haka, yanzu mun fi jure rashin nasara.
sharding
Kamar yadda aka bayyana a sama, tsarin tare da abubuwan da suka faru ba su da tsayayyen daidaito. Wannan yana nufin za mu iya amfani da na'urorin ajiya da yawa ba tare da wani aiki tare tsakanin su ba. Game da aikinmu, za mu iya:
- Rarrabe fayiloli ta nau'in. Misali, hotuna/bidiyoyin za a iya yankewa da kuma zabar mafi inganci tsari.
- Ware asusu ta ƙasa. Dokoki da yawa na iya buƙatar wannan, amma wannan gine-ginen yana ba da wannan damar ta atomatik.

Idan kana son yin ƙaura daga wannan ma'adana zuwa wani, daidaitattun kayan aikin ba za su yi ba. Abin takaici, a wannan yanayin, kuna buƙatar dakatar da jerin gwano, yin ƙaura, sannan kuma sake kunna shi. Gabaɗaya, ba za ku iya ƙaura bayanai "a kan tashi ba." Koyaya, idan an adana jerin gwanon taron gaba ɗaya kuma kuna da hotunan jihohin da suka gabata, zaku iya maimaita abubuwan kamar haka:
- A cikin Tushen Event, kowane taron yana da nasa mai ganowa (mafi kyau, wanda ba ya raguwa). Wannan yana nufin za mu iya ƙara filin zuwa ma'ajiyar- id na ƙarshe da aka sarrafa.
- Mun kwafi jerin gwano domin a iya sarrafa duk abubuwan da suka faru a wurare masu zaman kansu da yawa (na farko shine wanda ke adana bayanai a halin yanzu, na biyu kuma sabo ne amma a halin yanzu babu komai). Layi na biyu, a zahiri, ba a sarrafa shi a halin yanzu.
- Mun fara jerin gwano na biyu (wato, mun fara sake kunna abubuwan da suka faru).
- Da zarar sabon jerin gwano ya zama fanko (watau matsakaicin bambancin lokaci tsakanin ƙara wani abu da dawo da shi abin karɓa ne), masu karatu za su iya fara canzawa zuwa sabon ma'adana.
Kamar yadda kuke gani, tsarin mu bai taɓa samun daidaito ba, kuma har yanzu ba shi da daidaito. Akwai kawai dagewa na ƙarshe, wanda ke ba da tabbacin cewa ana sarrafa abubuwan da suka faru a cikin tsari iri ɗaya (ko da yake wataƙila tare da latency daban-daban). Yin amfani da wannan, za mu iya sauƙaƙe canja wurin bayanai zuwa wancan gefen duniya ba tare da dakatar da tsarin ba.
Don haka, ci gaba da misalin mu na ajiyar fayilolin kan layi, wannan gine-ginen ya riga ya samar mana da kari da yawa:
- Za mu iya matsar da abubuwa kusa da masu amfani, da kuzari, ta haka inganta ingancin sabis.
- Za mu iya adana wasu bayanai a cikin kamfanoni. Misali, masu amfani da kamfanoni sukan bukaci a adana bayanansu a cibiyoyin bayanan da aka sarrafa (domin hana fitar da bayanai). Tare da sharding, za mu iya tallafawa wannan cikin sauƙi. Ana ƙara sauƙaƙe wannan aikin idan abokin ciniki yana da gajimare mai jituwa (misali, ).
- Kuma mafi mahimmanci, ba lallai ne mu yi wannan ba. Bayan haka, don farawa da, ajiya guda ɗaya don duk asusu zai yi kyau daidai (don farawa da sauri). Kuma mabuɗin fasalin wannan tsarin shine, kodayake yana da ƙarfi, yana da sauƙi a farkon. Ba dole ba ne ka rubuta lambar nan da nan wanda ke ɗaukar jerin gwano daban-daban miliyan, da sauransu. Idan ya cancanta, za mu iya yin hakan daga baya.
A tsaye Hosting Abun ciki
Wannan batu na iya zama a bayyane gaba ɗaya, amma har yanzu yana da mahimmanci ga ma'auni ko žasa, aikace-aikacen kaya mai girma. Mahimmancin sa mai sauƙi ne: duk abin da ke cikin tsaye ba a ba da shi daga uwar garken guda ɗaya inda aikace-aikacen yake ba, amma daga sabar na musamman da aka keɓe musamman ga wannan aikin. Sakamakon haka, waɗannan ayyukan ana yin su da sauri (alal misali, Nginx yana hidimar fayiloli da sauri kuma a ƙaramin farashi fiye da sabar Java). Bugu da kari, akwai tsarin gine-ginen CDN () yana ba mu damar sanya fayilolinmu kusa da masu amfani da ƙarshen, wanda ke da tasiri mai kyau akan sauƙin amfani da sabis.
Mafi sauƙaƙa kuma mafi daidaitaccen misali na abin da ke tsaye shine tarin rubutun da hotuna don gidan yanar gizo. Wannan shi ne kai tsaye-an san su a gaba, sannan ana loda ma'ajin zuwa sabar CDN, daga inda ake ba da shi ga masu amfani.
Koyaya, a aikace, ana iya amfani da hanya mai kama da gine-ginen lambda don abun ciki na tsaye. Bari mu koma ga aikinmu (ajiya fayil na kan layi), wanda muke buƙatar rarraba fayiloli ga masu amfani. Mafi sauƙaƙan bayani shine ƙirƙirar sabis wanda ke aiwatar da duk abubuwan da ake buƙata (izni, da sauransu) ga kowane buƙatun mai amfani sannan zazzage fayil ɗin kai tsaye daga ma'adanar mu. Babban koma baya na wannan tsarin shine cewa abun ciki na tsaye (kuma fayil tare da takamaiman bita shine ainihin abun ciki a tsaye) ana amfani dashi ta sabar guda ɗaya wacce ta ƙunshi dabaru na kasuwanci. Madadin haka, zamu iya amfani da tsarin mai zuwa:
- Sabar tana ba da adireshin zazzagewa. Yana iya zama na hanyar fayil_id + maɓalli, inda maɓalli shine ƙaramin sa hannu na dijital wanda ke ba da dama ga albarkatun na sa'o'i 24 masu zuwa.
- Ana sarrafa rarraba fayil ta hanyar nginx mai sauƙi tare da zaɓuɓɓuka masu zuwa:
- Caching abun ciki. Tun da ana iya ɗaukar nauyin wannan sabis ɗin akan wata uwar garken daban, mun ba da tabbaci na gaba ta hanyar adana duk fayilolin da aka sauke kwanan nan akan faifai.
- Duba maɓalli lokacin ƙirƙirar haɗi
- Na zaɓi: sarrafa abun ciki yawo. Misali, idan muka matsa duk fayiloli a cikin sabis, za mu iya rage su kai tsaye a cikin wannan tsarin. Sakamakon haka, ana yin ayyukan IO a inda suke. Mai adana kayan tarihin Java zai iya keɓance yawancin ƙwaƙwalwar ajiyar da ba dole ba cikin sauƙi, amma sake rubuta sabis ɗin tare da dabaru na kasuwanci a cikin tsatsa/C++ na al'ada kuma na iya zama mara inganci. A cikin yanayinmu, muna amfani da matakai daban-daban (ko ma ayyuka), wanda ke nufin za mu iya raba dabarun kasuwanci da ayyukan IO yadda ya kamata.

Wannan tsarin bai yi kama da hidimar abun ciki ba (tunda ba mu loda dukkan fakitin a tsaye a wani wuri ba), amma a zahiri, wannan hanyar tana ba da cikakkun bayanai marasa canzawa. Bugu da ƙari, wannan makirci na iya zama gama gari zuwa wasu lokuta inda abun ciki ba kawai tsaye ba ne, amma ana iya wakilta shi azaman saitin tubalan da ba za a iya cirewa ba (ko da yake ana iya ƙara su).
Ga wani misali (don ƙarfafa): idan kun yi aiki tare da Jenkins ko TeamCity, kun san cewa duka mafita an rubuta su cikin Java. Dukansu matakai ne na Java waɗanda ke sarrafa duka gina ƙungiyar kade da sarrafa abun ciki. Musamman, dukansu biyu suna da ayyuka kamar "canja wurin fayil / babban fayil daga uwar garken." Misalai sun haɗa da isar da kayan tarihi, canja wurin lambar tushe (lokacin da wakili bai sauke lambar kai tsaye daga ma'ajiyar ba, amma uwar garken tana yi mata shi), da shiga shiga. Duk waɗannan ayyuka suna da nauyin IO daban-daban. Wannan yana nufin cewa uwar garken da ke da alhakin hadaddun dabaru na kasuwanci dole ne ya iya tura manyan rafukan bayanai da kyau ta kanta. Kuma abin da ya fi ban sha'awa shi ne cewa ana iya wakilta wannan aikin zuwa Nginx ta amfani da makirci iri ɗaya (sai dai cewa dole ne a ƙara maɓallin bayanai zuwa buƙatar).
Koyaya, idan muka koma tsarinmu, muna samun irin wannan makirci:

Kamar yadda kake gani, tsarin ya zama mai rikitarwa. Ba ƙaramin tsari bane kawai wanda ke adana fayiloli a cikin gida. Yanzu yana buƙatar hadaddun tallafi, sarrafa sigar API, da sauransu. Saboda haka, bayan an zana duk zane-zane, yana da kyau a yi la'akari sosai ko scalability ya cancanci saka hannun jari. Koyaya, idan kuna son samun damar faɗaɗa tsarin (ciki har da sarrafa adadin masu amfani da yawa), dole ne kuyi amfani da irin waɗannan hanyoyin. Duk da haka, a sakamakon haka, an shirya tsarin gine-ginen tsarin don ƙara yawan kaya (kusan kowane bangare za a iya cloned don a kwance). Ana iya sabunta tsarin ba tare da rufe shi ba (wasu ayyuka za su ɗan ɗan yi hankali kaɗan).
Kamar yadda na ambata a farkon farawa, yawancin sabis na kan layi suna fuskantar ƙarin kaya a halin yanzu. Kuma wasu daga cikinsu sun daina aiki yadda ya kamata. Ainihin, tsarin ya rushe a daidai lokacin da ya kamata kasuwancin su kasance suna samun kuɗi. Don haka, maimakon jinkirta bayarwa, maimakon ba abokan ciniki "tsara jadawalin isar da ku na watanni masu zuwa," kawai tsarin ya ce, "Je zuwa ga masu fafatawa." Wannan shi ne, a gaskiya, farashin ƙananan kayan aiki: asara yana faruwa daidai lokacin da riba za ta kasance mafi girma.
ƙarshe
Duk waɗannan hanyoyin sun kasance na ɗan lokaci. VK, alal misali, ya daɗe yana amfani da ra'ayin tallan abun ciki na tsaye don ba da hotuna. Yawancin wasannin kan layi suna amfani da sharding don raba 'yan wasa ta yanki ko don raba wuraren wasan (idan duniya da kanta ta kasance haɗin kai). Ana amfani da tushen taron a cikin imel. Yawancin aikace-aikacen ciniki, waɗanda ke karɓar bayanai akai-akai, a zahiri an gina su akan tsarin CQRS don tace bayanan mai shigowa. Kuma an dade ana amfani da sikelin kwance a ayyuka da yawa.
Duk da haka, mafi mahimmanci, duk waɗannan alamu sun zama masu sauƙin amfani a aikace-aikacen zamani (idan sun dace, ba shakka). Ƙididdigar Cloud yana ba da sharding da sikeli a kwance daga cikin akwatin, wanda ya fi sauƙi fiye da yin odar sabar keɓaɓɓu a cibiyoyin bayanai daban-daban. CQRS ya zama mafi sauƙi, idan kawai saboda haɓakar ɗakunan karatu kamar RX. Shekaru goma da suka wuce, ƙananan gidajen yanar gizo za su iya tallafawa wannan. Event Sourcing shima yana da sauƙin saitawa godiya ga kwantena Apache Kafka da aka yi. Shekaru goma da suka gabata, da wannan zai zama sabon abu; yanzu abin ya zama ruwan dare. Hakazalika, tare da Static Content Hosting, ƙarin fasahohin abokantaka na mai amfani (ciki har da cikakkun bayanai da babban bayanan amsawa) sun sanya wannan hanya ta fi sauƙi.
A sakamakon haka, aiwatar da wasu ƙayyadaddun tsarin tsarin gine-ginen yanzu ya zama mafi sauƙi, ma'ana yana da daraja la'akari da su da wuri. Yayin da aikace-aikacen mai shekaru goma zai iya watsi da ɗaya daga cikin hanyoyin da ke sama saboda babban aiwatarwa da farashin aiki, sabon aikace-aikacen, ko wataƙila mai gyarawa, na iya ƙirƙirar sabis ɗin da ke da tsarin gine-gine duka biyun extensible (cikin sharuddan aiki) kuma a shirye don sabon buƙatun abokin ciniki (misali, don keɓance bayanan sirri).
Kuma mafi mahimmanci: don Allah kar a yi amfani da waɗannan hanyoyin idan kuna da aikace-aikace mai sauƙi. Ee, suna da kyau da ban sha'awa, amma ga rukunin yanar gizon da ke da cunkoson jama'a 100, ƙirar monolith na yau da kullun na iya isa sau da yawa (aƙalla a waje; a ciki, duk abin da za a iya rushe shi cikin kayayyaki, da sauransu).
source: www.habr.com
