Zaɓin salon gine-gine (Kashi na 2)

Hello Habr. A yau na ci gaba da jerin wallafe-wallafen da na rubuta musamman don fara sabon rafi na kwas. "Software Architect".

Gabatarwar

Zaɓin tsarin gine-gine shine ɗayan mahimman yanke shawara na fasaha lokacin gina tsarin bayanai. A cikin wannan jerin kasidu, na ba da shawarar yin nazarin mafi mashahuri tsarin gine-gine don gina aikace-aikace da amsa tambayar yaushe ne salon gine-gine ya fi dacewa. A cikin tsarin gabatarwa, zan yi ƙoƙari in zana sarkar ma'ana wanda ke bayyana ci gaban tsarin gine-gine daga monoliths zuwa microservices.

В lokaci na ƙarshe mun yi maganin monolith kuma mun kai ga ƙarshe cewa monolith yana da matsaloli masu yawa: girman, haɗin kai, ƙaddamarwa, haɓakawa, aminci da tsauri.

A wannan karon na ba da shawarar yin magana game da yuwuwar tsara tsarin azaman saitin kayayyaki / ɗakunan karatu (ginin gine-ginen da ke da alaƙa) ko ayyuka (ginin gine-ginen sabis).

Gine-ginen da ke da alaƙa

Gine-ginen da ke da alaƙa ya haɗa da aiwatar da tsari azaman saitin abubuwan da za a iya amfani da su a cikin ayyukan yanzu da na gaba. Lokacin da aka rushe tsarin zuwa sassa, ana la'akari da waɗannan abubuwan: sake amfani da su, maye gurbinsu, 'yancin kai na mahallin, haɓakawa, ɓoyewa da 'yancin kai.

Tare da yin amfani da abubuwan da suka dace, an warware matsalar "babban ball na datti" (babban girman + babban haɗin kai) kuma abubuwan da kansu na iya zama duka ƙungiyoyin taro (modules, ɗakunan karatu) da sassan turawa (sabis). Ba koyaushe ana tsara raka'a na turawa zuwa tsarin aiki ba: alal misali, aikace-aikacen yanar gizo da kuma bayanan bayanai ana tura su tare.

Mafi sau da yawa, monoliths an haɓaka su azaman saitin kayayyaki. Wannan tsarin yana haifar da ci gaba mai zaman kansa, amma matsalolin ƙima da turawa masu zaman kansu, haƙurin kuskure da 'yancin kai daga tarin fasahar gabaɗaya sun kasance. Shi ya sa module ɗin keɓaɓɓen sashi ne mai zaman kansa.

Babbar matsala tare da irin wannan monolith shine cewa rarrabuwa zuwa kayayyaki yana da ma'ana kawai kuma masu haɓakawa zasu iya keta su cikin sauƙi. Ƙaƙƙarfan tsarin ƙila zai iya bayyana, wanda a hankali ya juya ya zama juji, jadawali na dogara tsakanin kayayyaki na iya girma, da sauransu. Don kauce wa irin waɗannan matsalolin, ya kamata a gudanar da ci gaba ko dai ta wata ƙungiya mai balagagge, ko kuma a ƙarƙashin jagorancin "mai ginin gine-gine" wanda ke yin nazari na cikakken lokaci kuma ya doke hannun masu haɓakawa waɗanda suka keta tsarin ma'ana.

“Madaidaici” monolith saiti ne na rarrabuwa na hankali, kowannensu yana duban bayanansa.

Gine-ginen da ya dace da sabis

Idan ya kamata a tsara tsarin a cikin nau'i na saitin ayyuka, to muna magana ne game da gine-ginen da ke da sabis. Ka'idodinta sune haɗin kai na aikace-aikacen mai amfani, sake amfani da sabis na kasuwanci, yancin kai na fasaha, da yancin kai (juyin halitta mai zaman kansa, haɓakawa, da turawa).

Gine-ginen da ke dacewa da sabis (SOA = gine-ginen da aka tsara sabis) yana magance duk matsalolin da aka gano na monolith: sabis ɗaya ne kawai ke shafar lokacin da canji ya faru, kuma API mai ƙayyadaddun ƙayyadaddun kayan aiki yana goyan bayan ƙulla abubuwa masu kyau.

Amma ba komai ba ne mai santsi: SOA na haifar da sababbin matsaloli. Kira mai nisa ya fi na gida tsada, kuma sake rarraba nauyi tsakanin sassan ya zama tsada sosai.

Ta hanyar, yiwuwar ƙaddamarwa mai zaman kanta yana da muhimmiyar mahimmanci na sabis. Idan dole ne a tura sabis tare ko, ƙari, a cikin wani jeri, to ba za a iya ɗaukar tsarin ya dace da sabis ba. A wannan yanayin, suna magana game da monolith da aka rarraba (la'akari da wani tsari ba kawai daga ra'ayi na SOA ba, har ma daga ra'ayi na gine-ginen microservice).

Gine-ginen da suka dace da sabis yana da goyan bayan gine-ginen gine-gine da masu siyarwa. Wannan yana nuna kasancewar darussa da takaddun shaida da yawa, ingantattun alamu. Ƙarshen ya haɗa da, alal misali, sanannen bas ɗin sabis na kamfani (ESB = bas ɗin sabis na kamfani). A lokaci guda, ESB kaya ce daga masu siyarwa; ba lallai ba ne a yi amfani da shi a SOA.

Shahararrun gine-ginen da suka dace da sabis ya kai kololuwa a cikin 2008, bayan haka ya fara raguwa, wanda ya zama mai ban mamaki sosai bayan zuwan microservices (~ 2015).

ƙarshe

Bayan mun tattauna yuwuwar tsara tsarin bayanai a cikin nau'ikan ayyuka da kayayyaki, Ina ba da shawarar a ƙarshe don matsawa kan ka'idodin gine-ginen microservice da kuma ba da kulawa ta musamman ga bambanci tsakanin gine-ginen microservice da gine-ginen da suka dace da sabis a sashi na gaba.

Zaɓin salon gine-gine (Kashi na 2)

source: www.habr.com

Add a comment