Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Habr na-agbanwe ụwa. Anyị na-ede blọgụ ihe karịrị otu afọ ugbu a. Ihe dị ka ọnwa isii gara aga, anyị nwetara nzaghachi ezi uche dị na ya site n'aka Khabrovits: "Dodo, ị na-ekwu ebe niile na ị nwere usoro nke gị. Gịnịkwa bụ usoro ihe a? Ma gịnị kpatara yinye pizza ji chọọ ya?

Anyị nọdụrụ ala, chee echiche wee chọpụta na ị bụ eziokwu. Anyị na-agbalị ịkọwa ihe niile na mkpịsị aka anyị, ma ọ na-apụta na mpempe adọwa na ọ dịghị ebe ọ bụla nkọwa zuru ezu nke usoro. Otu a si malite ogologo njem nke ịnakọta ozi, ịchọ ndị odee na ide usoro isiokwu gbasara Dodo IS. Ka a pụọ!

Ekele: Daalụ maka ịkọrọ anyị nzaghachi gị. Ekele dịrị ya, anyị mechara kọwaa usoro ahụ, chịkọta radar teknụzụ na n'oge na-adịghị anya ga-ewepụta nkọwa dị ukwuu nke usoro anyị. E wezụga gị, anyị gaara anọ ebe ahụ afọ 5 ọzọ.

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Usoro isiokwu "Gịnị bụ Dodo BỤ?" na-ekwu maka:

  1. Monolith mbụ na Dodo IS (2011-2015). (Na-aga n'ihu...)
  2. Ụzọ ụlọ ọrụ azụ: ntọala dị iche iche na ụgbọ ala. (ị nọ ebe a)
  3. Ụzọ ụzọ ndị ahịa: facade n'elu isi (2016-2017). (Na-aga n'ihu...)
  4. Akụkọ ihe mere eme nke ezigbo microservices. (2018-2019). (Na-aga n'ihu...)
  5. Emechara ịwa osisi nke monolith na nkwụsi ike nke ihe owuwu ahụ. (Na-aga n'ihu...)

Ọ bụrụ na ị nwere mmasị ịmata ihe ọzọ - dee na nkọwa.

Echiche na nkọwa oge nke onye edemede
M na-enwekarị nzukọ maka ndị ọrụ ọhụrụ na isiokwu "System Architecture". Anyị na-akpọ ya "Intro to Dodo IS Architecture" na ọ bụ akụkụ nke usoro onboarding maka ndị mmepe ọhụrụ. Na-agwa n'otu ụdị ma ọ bụ ọzọ banyere ihe owuwu anyị, banyere njirimara ya, amụwo m ụfọdụ usoro akụkọ ihe mere eme na nkọwa ahụ.

Omenala, anyị na-ele usoro ahụ anya dị ka ihe mejupụtara (nkà na ụzụ ma ọ bụ ọkwa dị elu), modul azụmahịa nke na-emekọ ihe ọnụ iji nweta ihe mgbaru ọsọ ụfọdụ. Ma ọ bụrụ na echiche dị otú ahụ ziri ezi maka imewe, mgbe ahụ ọ dịghị mma maka nkọwa na nghọta. Enwere ọtụtụ ihe kpatara ebe a:

  • Eziokwu dị iche na nke dị n'akwụkwọ. Ọ bụghị ihe niile na-arụ ọrụ dị ka echere. Na anyị nwere mmasị otú ọ n'ezie tụgharịa na-arụ ọrụ.
  • Ngosipụta ozi na-agbanwe agbanwe. N'ezie, ị nwere ike ịga n'usoro oge site na mmalite ruo na ọnọdụ dị ugbu a.
  • Site na mfe ruo mgbagwoju anya. Ọ bụghị n'ụwa niile, ma n'ọnọdụ anyị ọ bụ. Ihe owuwu ahụ si n'ụzọ dị mfe gaa na nke siri ike karị. Ọtụtụ mgbe site na mgbagwoju anya, a na-edozi nsogbu nke ngwa ngwa ngwa na nkwụsi ike, yana ọtụtụ ihe ndị ọzọ sitere na ndepụta nke ihe ndị na-adịghị arụ ọrụ (na-adịghị arụ ọrụ).ebe a Akọrọ nke ọma banyere ọdịiche dị mgbagwoju anya na ihe ndị ọzọ chọrọ).

N'afọ 2011, ihe owuwu Dodo IS dị ka nke a:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

N'afọ 2020, ọ na-adị ntakịrị mgbagwoju anya ma bụrụ nke a:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Olee otú evolushọn a si mee? Gịnị mere akụkụ dị iche iche nke usoro a chọrọ? Kedu mkpebi ụkpụrụ ụlọ e mere na gịnị kpatara ya? Ka anyị chọpụta n’usoro isiokwu a.

Nsogbu mbụ nke 2016: gịnị kpatara ọrụ kwesịrị ịhapụ monolith

Akụkọ mbụ sitere na okirikiri ga-abụ maka ọrụ ndị bụ ndị mbụ kewapụrụ na monolith. Iji tinye gị n'ọnọdụ, m ga-agwa gị nsogbu ndị anyị nwere na usoro ahụ site na mmalite nke 2016, na anyị ga-edozi nkewa nke ọrụ.

Otu nchekwa data MySql, nke ngwa niile dị n'oge ahụ na Dodo IS dere ndekọ ha. Ihe si na ya pụta bụ:

  • Ibu dị arọ (na 85% nke arịrịọ ndị a na-agụ maka ịgụ akwụkwọ).
  • Ntọala etoola. N'ihi nke a, ọnụ ahịa ya na nkwado ya ghọrọ nsogbu.
  • Otu ebe ọdịda. Ọ bụrụ na otu ngwa na-ede na nchekwa data na mberede malitere ime ya na-arụsi ọrụ ike, mgbe ahụ ngwa ndị ọzọ chere ya n'onwe ha.
  • Enweghi ike na nchekwa na ajụjụ. Ọtụtụ mgbe, a na-echekwa data ahụ n'ụdị ụfọdụ dabara adaba maka ọnọdụ ụfọdụ mana ọ dabaraghị ndị ọzọ. Ndekọ ndetu na-eme ka ọrụ ụfọdụ dị ngwa, mana nwere ike belata ndị ọzọ.
  • E wepụrụ ụfọdụ n'ime nsogbu ndị ahụ site na ngwa ngwa mere cache na agụ-replicas na bases (nke a ga-abụ isiokwu dị iche), mana ha kwere ka ha nweta oge ma ghara idozi nsogbu ahụ.

Nsogbu bụ ọnụnọ nke monolith n'onwe ya. Ihe si na ya pụta bụ:

  • Mwepụta nke otu na obere.
  • Ihe isi ike na mmepe nkwonkwo nke ọnụ ọgụgụ dị ukwuu nke ndị mmadụ.
  • Enweghị ike iweta teknụzụ ọhụrụ, usoro ọhụrụ na ọba akwụkwọ.

A kọwawo nsogbu na isi na monolith ọtụtụ oge, dịka ọmụmaatụ, na ọnọdụ nke mkpọka na mmalite 2018 (Dị ka Munch, ma ọ bụ okwu ole na ole gbasara ụgwọ ọrụ aka, Ụbọchị Dodo IS kwụsịrị. Edemede anaghị agbanwe agbanwe и Akụkọ banyere nnụnụ Dodo sitere na ezinụlọ Phoenix. Akwa ọdịda Dodo BỤ), yabụ na agaghị m ebi oke. Ka m kwuo naanị na anyị chọrọ inyekwu mgbanwe mgbe anyị na-etolite ọrụ. Nke mbụ, nke a metụtara ndị kacha ibu na mgbọrọgwụ na sistemụ niile - Auth na Tracker.

Ụzọ azụ ụlọ ọrụ: ntọala dị iche iche na ụgbọ ala

Ntugharị isi

  1. Atụmatụ Monolith 2016
  2. Bido budata Monolith: Auth and Tracker Separation
  3. Kedu ihe Auth na-eme?
  4. Ebee ka ibu si?
  5. Na-ebupụ Auth
  6. Kedu ihe Tracker na-eme?
  7. Ebee ka ibu si?
  8. Nbudata Tracker

Atụmatụ Monolith 2016

Nke a bụ isi ihe mgbochi Dodo IS 2016 monolith, ma dị n'okpuru ebe a bụ ndegharị nke ọrụ ha bụ isi.
Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path
Nnyefe ego ego. Akaụntụ maka ndị ozi, na-enye ndị na-ebu ozi iwu.
Ebe kọntaktị. Nnabata iwu site n'aka onye ọrụ.
Site. Webụsaịtị anyị (dodopizza.ru, dodopizza.co.uk, dodopizza.by, wdg).
Auth. Ọrụ ikike na nyocha maka ụlọ ọrụ azụ.
tracker. Nye iwu tracker na kichin. Ọrụ maka akara ọkwa ịdị njikere mgbe ị na-akwado usoro.
Oche ego nke ụlọ oriri na ọṅụṅụ. Na-anata iwu n'ụlọ oriri na ọṅụṅụ, ebe ndị na-akwụ ụgwọ ego.
Export. Na-ebugote akụkọ na 1C maka ndekọ ego.
Amamọkwa na akwụkwọ ọnụahịa. Iwu olu na kichin (dịka ọmụmaatụ, "Piza ọhụrụ bịarutere") + mbipụta akwụkwọ ọnụahịa maka ndị na-ebu ozi.
Onye njikwa Shift. Ihe ntanetị maka ọrụ nke onye njikwa mgbanwe: ndepụta nke iwu, eserese arụmọrụ, ịnyefe ndị ọrụ na ngbanwe.
Onye njikwa ụlọ ọrụ. Interface maka ọrụ nke franchise na onye njikwa: nnabata nke ndị ọrụ, akụkọ banyere ọrụ nke pizzeria.
Ụlọ oriri na ọṅụṅụ. Ngosipụta menu na TV na pizzerias.
admin. Ntọala na otu pizzeria: menu, ọnụ ahịa, ndekọ ego, koodu mgbasa ozi, nkwalite, ọkọlọtọ webụsaịtị, wdg.
Akaụntụ nke onye ọrụ. Usoro ọrụ nke ndị ọrụ, ozi gbasara ndị ọrụ.
Ụlọ mkpali kichin. Ihuenyo dị iche nke kwụgidere na kichin ma gosipụta ọsọ nke ndị na-eme pizza.
Communication. Na-eziga SMS na email.
Nchekwa faịlụ. Ọrụ nke onwe maka ịnata na ịnye faịlụ static.

Mgbalị ndị mbụ anyị mere iji dozie nsogbu ndị ahụ nyeere anyị aka, ma ha bụ naanị oge ezumike. Ha aghọghị ngwọta usoro, ya mere o doro anya na a ghaghị ime ihe na ntọala. Dịka ọmụmaatụ, iji kesaa nchekwa data izugbe n'ime ọtụtụ ndị ọzọ pụrụ iche.

Bido budata Monolith: Auth and Tracker Separation

Ọrụ ndị bụ isi nke dekọtara wee gụọ na nchekwa data karịa ndị ọzọ:

  1. Auth. Ọrụ ikike na nyocha maka ụlọ ọrụ azụ.
  2. Tracker. Nye iwu tracker na kichin. Ọrụ maka akara ọkwa ịdị njikere mgbe ị na-akwado usoro.

Kedu ihe Auth na-eme?

Auth bụ ọrụ nke ndị ọrụ na-esi na-abanye n'ụlọ ọrụ azụ (enwere ụzọ dị iche iche nọọrọ onwe ya n'akụkụ ndị ahịa). A na-akpọkwa ya na arịrịọ ahụ iji hụ na ikike ịnweta achọrọ dị na ikike ndị a agbanwebeghị kemgbe nbanye ikpeazụ. Site na ya, ngwaọrụ na-abanye na pizzeria.

Dị ka ihe atụ, anyị chọrọ imeghe ngosi na statuses nke okokụre iwu na TV nghọta na ụlọ nzukọ. Mgbe ahụ, anyị na-emepe auth.dodopizza.ru, họrọ "Nbanye dị ka ngwaọrụ", koodu na-egosi nke nwere ike ịbanye na ibe pụrụ iche na kọmputa onye njikwa mgbanwe, na-egosi ụdị ngwaọrụ (ngwaọrụ). TV n'onwe ya ga-agbanwe na interface achọrọ nke pizzeria ya wee malite igosipụta aha ndị ahịa nke iwu ha dị njikere ebe ahụ.

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Ebee ka ibu si?

Onye ọ bụla abanyela na ụlọ ọrụ azụ na-aga na nchekwa data, na tebụl onye ọrụ maka arịrịọ ọ bụla, na-ewepụta onye ọrụ site na ajụjụ sql wee lelee ma ọ nwere ohere dị mkpa na ikike nke ibe a.

Ngwaọrụ ọ bụla na-eme otu ihe ahụ naanị na tebụl ngwaọrụ, na-elele ọrụ ya na ohere ya. Ọnụ ọgụgụ dị ukwuu nke arịrịọ na nchekwa data nna ukwu na-eduga na ntinye ya na mkpofu nke ihe nchekwa data nkịtị maka ọrụ ndị a.

Na-ebupụ Auth

Auth nwere ngalaba dịpụrụ adịpụ, ya bụ, data gbasara ndị ọrụ, nbanye ma ọ bụ ngwaọrụ na-abanye n'ọrụ ahụ (maka ugbu a) wee nọrọ ebe ahụ. Ọ bụrụ na mmadụ chọrọ ha, mgbe ahụ ọ ga-aga ọrụ a maka data.

Ọ BỤ. Atụmatụ mbụ nke ọrụ bụ nke a:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Ọ ga-amasị m ịkọwa ntakịrị ka o si arụ ọrụ:

  1. Arịrịọ sitere na mpụga na-abịa na azụ azụ (enwere Asp.Net MVC), na-eweta kuki nnọkọ, nke a na-eji nweta data nnọkọ sitere na Redis (1). O nwere ozi gbasara ịnweta, wee nweta onye njikwa emeghe (3,4), ma ọ bụ na ọ bụghị.
  2. Ọ bụrụ na enweghị ohere, ịkwesịrị ịgafe usoro ikike. N'ebe a, maka ịdị mfe, a na-egosi ya dịka akụkụ nke ụzọ ahụ n'otu àgwà ahụ, ọ bụ ezie na ọ bụ mgbanwe na ibe nbanye. N'ihe banyere ọnọdụ dị mma, anyị ga-enweta nnọkọ emechara nke ọma wee gaa na Njikwa Backoffice.
  3. Ọ bụrụ na enwere data, mgbe ahụ ịkwesịrị ịlele ya maka mkpa ọ dị na ntọala onye ọrụ. Ọrụ ya agbanweela, e kwesịghị ịhapụ ya na ibe ugbu a? N'okwu a, mgbe ị nwetasịrị nnọkọ (1), ịkwesịrị ịga ozugbo na nchekwa data wee lelee ohere onye ọrụ nwere site na iji oyi akwa mgbagha (2). Na-esote, ma ọ bụ na ibe nbanye, ma ọ bụ gaa na njikwa. Dị otú ahụ a dị mfe usoro, ma ọ bụghị nnọọ ọkọlọtọ.
  4. Ọ bụrụ na agafere usoro niile, mgbe ahụ, anyị na-awụpụ n'ihu na mgbagha na njikwa na ụzọ.

E kewapụrụ data onye ọrụ na data ndị ọzọ niile, echekwara ya na tebụl otu dị iche, ọrụ sitere na oyi akwa AuthService nwere ike bụrụ ụzọ api. Akọwapụtara oke ngalaba nke ọma: ndị ọrụ, ọrụ ha, ịnweta data, inye na ịkagbu ohere. Ihe niile dị ka enwere ike wepụta ya na ọrụ dị iche.

GỤỌ . Ya mere, ha mere:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Ụzọ a nwere ọtụtụ nsogbu. Dịka ọmụmaatụ, ịkpọ usoro n'ime usoro abụghị otu ịkpọ ọrụ mpụga site na http. Latency, ntụkwasị obi, maintainability, nghọta nke ọrụ bụ kpamkpam dị iche iche. Andrey Morevskiy kwuru n'ụzọ zuru ezu banyere nsogbu ndị dị otú ahụ na akụkọ ya. "50 ndò nke Microservices".

A na-eji ọrụ nyocha na, ya na ya, ọrụ ngwaọrụ maka ụlọ ọrụ azụ, ya bụ, maka ọrụ na interfaces eji na mmepụta. Nyocha maka ọrụ ndị ahịa (dị ka webụsaịtị ma ọ bụ ngwa mkpanaka) na-apụta iche na-ejiri Auth. Nkewa ahụ were ihe dị ka otu afọ, ma ugbu a, anyị na-emeso isiokwu a ọzọ, na-ebufe usoro ahụ na ọrụ nyocha ọhụrụ (ya na ụkpụrụ ọkọlọtọ).

Gịnị mere nkewa ahụ ji were ogologo oge?
Enwere ọtụtụ nsogbu n'ụzọ nke mere ka anyị daa ngwa ngwa:

  1. Anyị chọrọ ibugharị onye ọrụ, ngwaọrụ, na data nyocha sitere na ọdụ data akọwapụtara obodo ka ọ bụrụ otu. Iji mee nke a, anyị ga-atụgharịrịrị tebụl na ojiji niile site na njirimara int gaa na njirimara UUId zuru ụwa ọnụ (a rụgharịrị koodu a n'oge na-adịbeghị anya. Roman Bukin "Uuid - nnukwu akụkọ nke obere ihe owuwu" na ọrụ mepere emepe Ihe mbụ). Ịchekwa data onye ọrụ (ebe ọ bụ ozi nkeonwe) nwere njedebe ya yana maka ụfọdụ mba ọ dị mkpa ịchekwa ha iche. Mana id zuru ụwa ọnụ nke onye ọrụ ga-abụrịrị.
  2. Ọtụtụ tebụl dị na nchekwa data nwere ozi nyocha gbasara onye ọrụ rụrụ ọrụ ahụ. Nke a chọrọ usoro ọzọ maka ịdị n'otu.
  3. Mgbe emechara api-services, enwere ogologo oge na nke nta nke nta nke mgbanwe na usoro ọzọ. Ngbanwe kwesịrị ịbụ enweghị nkebi maka ndị ọrụ yana ọrụ ntuziaka chọrọ.

Atụmatụ ndebanye ngwaọrụ na pizzeria:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Nrụpụta izugbe ka ewepụtara ọrụ Auth na ngwaọrụ:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Примечание. Maka 2020, anyị na-arụ ọrụ na ụdị Auth ọhụrụ, nke dabere na ọkọlọtọ ikike OAuth 2.0. Ụkpụrụ a dị mgbagwoju anya, mana ọ bara uru maka ịmepụta ọrụ nyocha ngafe. N'ime edemede "Ụzọ aghụghọ nke ikike: nyocha nke teknụzụ OAuth 2.0» Anyị Alexei Chernyaev gbalịrị ịgwa banyere ọkọlọtọ dị mfe na n'ụzọ doro anya dị ka o kwere mee ka ị na-azọpụta oge na-amụ ya.

Kedu ihe Tracker na-eme?

Ugbu a banyere nke abụọ nke loaded ọrụ. Tracker na-arụ ọrụ abụọ:

  • N'otu aka ahụ, ọrụ ya bụ igosi ndị ọrụ na kichin ihe iwu na-arụ ọrụ ugbu a, ngwaahịa ndị dị mkpa ka esi nri ugbu a.
  • N'aka nke ọzọ, ka digitize niile usoro na kichin.

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Mgbe ngwaahịa ọhụrụ pụtara n'usoro (dịka ọmụmaatụ, pizza), ọ na-aga n'ọdụ ụgbọ mmiri Rolling out. N'ọdụ a, e nwere onye na-eme pizza na-ewere bun nke nha achọrọ wee tụgharịa ya, mgbe nke ahụ gasịrị, ọ na-edeba na mbadamba ihe na-achọpụta na ọ rụchara ọrụ ya ma bufee ntụ ọka ntụ ọka ahụ n'ọdụ ụgbọ mmiri na-esote - "Mmalite" .

N'ebe ahụ, onye na-eme pizza na-esote na-ejupụta pizza, wee dee na mbadamba nkume na ọ rụchara ọrụ ya ma tinye pizza na oven (nke a bụkwa ọdụ dị iche iche nke a ga-edeba na mbadamba nkume). Usoro dị otú ahụ sitere na mmalite na Dodo na site na mmalite nke ịdị adị Dodo IS. Ọ na-enye gị ohere iji zuru ezu soro na digitize niile azụmahịa. Na mgbakwunye, tracker na-atụ aro ka esi esi otu ngwaahịa, na-eduzi ụdị ngwaahịa ọ bụla dị ka atụmatụ nrụpụta ya si dị, na-echekwa oge nri kacha mma maka ngwaahịa ahụ, wee soro ọrụ niile dị na ngwaahịa ahụ.

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office PathNke a bụ otú ihuenyo nke mbadamba nkume dị na ọdụ nke tracker "Raskatka"

Ebee ka ibu si?

Nke ọ bụla n'ime pizzerias nwere ihe dị ka mbadamba nkume ise nwere tracker. Na 2016, anyị nwere ihe karịrị 100 pizzerias (ma ugbu a karịa 600). Mbadamba ụrọ nke ọ bụla na-arịọ arịrịọ maka azụ azụ otu ugboro kwa sekọnd 10 wee kpochapụ data site na tebụl iji (njikọ na onye ahịa na adreesị), ihe mejupụtara usoro (njikọ na ngwaahịa na ngosipụta nke ọnụọgụ), tebụl mkpali na-agụ akwụkwọ (na A na-enyocha oge ịpị na ya). Mgbe onye na-eme pizza pịrị ngwaahịa na tracker, a na-emelite ndenye ndị dị na tebụl ndị a niile. Tebụlụ usoro a bụ n'ozuzu, ọ nwekwara ntinye ntinye mgbe ị na-anabata iwu, mmelite sitere na akụkụ ndị ọzọ nke sistemụ na ọtụtụ agụ, dịka ọmụmaatụ, na TV nke kwụgidere na pizzeria ma gosi ndị ahịa iwu emechara.

N'ime oge mgba na ibu, mgbe ihe niile na ihe niile na-echekwa ma bufee ya na asynchronous oyiri nke isi, ọrụ ndị a na tracker gara n'ihu na-aga na isi ihe. E kwesịghị inwe oge ọ bụla, data kwesịrị ịbụ nke ọhụrụ, na-enweghị mmekọrịta bụ ihe anabataghị.

Ọzọkwa, enweghị tebụl na ndeksi dị n'ime ha ekweghị ka e dee ajụjụ ndị a kapịrị ọnụ ahaziri maka ojiji ha. Dịka ọmụmaatụ, ọ nwere ike ịdị mma maka onye na-egwu egwu ịnwe ndeksi maka pizzeria na tebụl ịtụ. Anyị na-ewepụ iwu pizzeria mgbe niile na nchekwa data tracker. N'otu oge ahụ, maka ịnata iwu, ọ bụghị ihe dị mkpa nke pizzeria ọ dabara, ọ dị mkpa karịa onye ahịa nyere iwu a. Ma pụtara n'ebe ahụ index na ahịa dị mkpa. Ọ dịghịkwa mkpa ka onye na-egwu egwu chekwaa id nke nnata ebipụta ma ọ bụ nkwalite ego jikọtara ya na usoro na tebụl n'usoro. Ozi a enweghị mmasị na ọrụ tracker anyị. Na nchekwa data monolithic nkịtị, tebụl nwere ike ịbụ naanị nkwekọrịta n'etiti ndị ọrụ niile. Nke a bụ otu n'ime nsogbu mbụ.

Ọ BỤ. Ihe owuwu ụlọ mbụ bụ:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Ọbụlagodi mgbe e kewasịrị ya na usoro dị iche iche, ọtụtụ ntọala koodu ahụ ka na-ahụkarị maka ọrụ dị iche iche. Ihe niile dị n'okpuru ndị na-achịkwa bụ otu ma biri n'otu ebe nchekwa. Anyị na-eji usoro ọrụ ndị a na-ahụkarị, ebe nchekwa, ebe a na-ahụkarị, nke tebụl nkịtị dị.

Nbudata Tracker

Isi nsogbu na tracker bụ na a ga-emekọrịta data n'etiti ọdụ data dị iche iche. Nke a bụkwa isi ihe dị iche na nkewa nke ọrụ Auth, usoro na ọnọdụ ya nwere ike ịgbanwe na ekwesịrị igosi ya na ọrụ dị iche iche.

Anyị na-anabata iwu na Checkout Ụlọ oriri na ọṅụṅụ (nke a bụ ọrụ), echekwara ya na nchekwa data na ọnọdụ "anabatara". Mgbe nke ahụ gasịrị, ọ ga-aga na tracker, ebe ọ ga-agbanwe ọnọdụ ya ọtụtụ ugboro: site na "Kitchen" na "Packed". N'otu oge ahụ, ụfọdụ mmetụta mpụga sitere na onye ego ego ma ọ bụ interface Shift Manager nwere ike ime na usoro a. M ga-enye iwu statuses na nkọwa ha na tebụl:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path
Atụmatụ maka ịgbanwe usoro ọnọdụ dị ka nke a:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Ọnọdụ na-agbanwe n'etiti sistemụ dị iche iche. Na ebe a tracker abụghị usoro ikpeazụ nke na-emechi data. Anyị ahụla ọtụtụ ụzọ enwere ike ime nkewa n'ọnọdụ dị otú ahụ:

  1. Anyị na-etinye uche niile usoro omume n'otu ọrụ. N'ọnọdụ anyị, nhọrọ a chọrọ oke ọrụ iji rụọ ọrụ na usoro ahụ. Ọ bụrụ na anyị akwụsị na ya, anyị ga-enweta monolith nke abụọ. Anyị agaghị edozi nsogbu ahụ.
  2. Otu usoro na-akpọ oku ọzọ. Nhọrọ nke abụọ na-adọrọ mmasị karị. Ma na ya, agbụ nke oku ga-ekwe omume (cascading ọdịda), Njikọ nke akụrụngwa dị elu, ọ na-esiri ike ijikwa ya.
  3. Anyị na-ahazi ihe omume, na ọrụ ọ bụla na-ekwurịta okwu na onye ọzọ site na ihe omume ndị a. N'ihi ya, ọ bụ nhọrọ nke atọ a họọrọ, dịka nke ọrụ niile na-amalite ịgbanwe ihe omume na ibe ha.

Eziokwu ahụ bụ na anyị họọrọ nhọrọ nke atọ pụtara na tracker ga-enwe nchekwa data nke ya, na maka mgbanwe ọ bụla n'usoro, ọ ga-eziga ihe omume banyere nke a, nke ndị ọrụ ndị ọzọ debanyere aha na nke na-adaba na nchekwa data nna ukwu. Iji mee nke a, anyị chọrọ ụfọdụ ọrụ ga-ahụ na nnyefe nke ozi n'etiti ọrụ.

N'oge ahụ, anyị enweelarị RabbitMQ na nchịkọta, ya mere mkpebi ikpeazụ iji ya dị ka onye na-ere ahịa ozi. Eserese ahụ na-egosi mgbanwe nke iwu sitere na onye na-ere ego ụlọ oriri na ọṅụṅụ site na Tracker, ebe ọ na-agbanwe ọkwa ya na ngosipụta ya na interface Order nke onye njikwa. GỤỌ:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Usoro usoro nzọụkwụ site nzọụkwụ
Ụzọ ịtụ ahịa na-amalite n'otu n'ime ọrụ isi mmalite. Nke a bụ onye ego nke ụlọ oriri na ọṅụṅụ:

  1. Na ndenye ọpụpụ, iwu ahụ adịla njikere, ma oge eruola iziga ya na tracker. A na-atụba ihe omume a na-edebanye aha na tracker.
  2. Onye na-egwu egwu, na-anabata iwu maka onwe ya, na-echekwa ya na nchekwa data nke ya, na-eme ihe omume ahụ "Order nke Tracker nabatara" ma ziga ya na RMQ.
  3. Enwere ọtụtụ ndị njikwa debanyere aha na bọs mmemme n'otu n'otu. Maka anyị, nke na-eme mmekọrịta na ntọala monolithic dị mkpa.
  4. Onye na-ahụ maka ya na-enweta ihe omume, na-ahọrọ na ya data dị mkpa maka ya: n'ọnọdụ anyị, nke a bụ ọnọdụ nke usoro "The Tracker nabatara" ma na-emelite usoro ya na isi nchekwa data.

Ọ bụrụ na mmadụ chọrọ iwu site na iwu tebụl monolithic, mgbe ahụ ị nwere ike ịgụ ya n'ebe ahụ. Dịka ọmụmaatụ, interface Order na Shift Manager chọrọ nke a:

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Ọrụ ndị ọzọ niile nwekwara ike ịdenye aha ka ịnye ihe omume site na tracker ka o jiri ha meere onwe ha.

Ọ bụrụ na mgbe obere oge ewere usoro ahụ n'ọrụ, ọnọdụ ya ga-ebu ụzọ gbanwee na nchekwa data ya (Tracker database), wee mepụta ihe omume "OrderIn Progress" ozugbo. Ọ na-abanyekwa na RMQ, site na ebe a na-emekọrịta ya na nchekwa data monolithic ma nyefee ya na ọrụ ndị ọzọ. Enwere ike inwe nsogbu dị iche iche n'ụzọ, nkọwa ndị ọzọ gbasara ha nwere ike ịchọta na akụkọ Zhenya Peshkov gbasara nkọwa mmejuputa atumatu nke Nkwekọrịta Ọdịnihu na Tracker.

Nrụpụta ikpeazụ ka emechara mgbanwe na Auth na Tracker

Akụkọ ihe mere eme nke Dodo IS Architecture: The Back Office Path

Na-achịkọta nsonaazụ etiti: Na mbụ, enwere m echiche ịkwakọ akụkọ ihe mere eme nke afọ itoolu nke usoro Dodo IS n'ime otu isiokwu. M chọrọ ngwa ngwa na-ekwu okwu banyere nkebi nke evolushọn. Otú ọ dị, ịnọdụ ala maka ihe ahụ, achọpụtara m na ihe niile dị mgbagwoju anya ma na-adọrọ mmasị karịa ka ọ dị.

N'ịtụgharị uche na uru (ma ọ bụ enweghị ya) nke ihe dị otú ahụ, abịara m ná nkwubi okwu na mmepe na-aga n'ihu agaghị ekwe omume na-enweghị ihe ndekọ zuru ezu nke ihe omume, nkọwa zuru ezu na nyocha nke mkpebi m gara aga.

Enwere m olileanya na ọ bara uru ma na-atọ gị ụtọ ịmụta banyere ụzọ anyị. Ugbu a, enwere m nhọrọ nke akụkụ nke usoro Dodo IS ga-akọwa n'isiokwu na-esonụ: dee na nkwupụta ma ọ bụ votu.

Naanị ndị ọrụ edebanyere aha nwere ike isonye na nyocha a. banye, Biko.

Kedu akụkụ Dodo IS ka ị ga-achọ ịmata maka ya n'isiokwu na-esote?

  • 24,1%Monolith mbụ na Dodo IS (2011-2015)14

  • 24,1%Nsogbu mbụ na ngwọta ha (2015-2016)14

  • 20,7%Ụzọ n'akụkụ ndị ahịa: facade over base (2016-2017)12

  • 36,2%Akụkọ ihe mere eme nke ezi microservices (2018-2019)21

  • 44,8%Ntucha zuru oke nke monolith na nkwụsi ike nke architecture26

  • 29,3%Banyere atụmatụ ndị ọzọ maka mmepe nke usoro ahụ17

  • 19,0%Achọghị m ịma ihe ọ bụla gbasara Dodo IS11

Ndị ọrụ 58 tụrụ vootu. Ndị ọrụ 6 anabataghị.

isi: www.habr.com

Tinye a comment