Ka mayar mini da halalta

Da alama kololuwar zage-zage na microservices yana bayan mu. Ba mu ƙara karanta rubuce-rubuce sau da yawa a mako "Yadda na matsar da monolith dina zuwa sabis 150." Yanzu na ji ƙarin tunani na hankali: "Ba na ƙin monolith, kawai na damu da inganci." Har ma mun lura da hijira da yawa daga microservices baya zuwa monolith. Lokacin matsawa daga babban aikace-aikace zuwa ƙananan ayyuka masu yawa, dole ne ku warware sabbin matsaloli da yawa. Bari mu lissafa su a taƙaice yadda zai yiwu.

Saitin: daga ainihin sinadarai zuwa injiniyoyi masu yawa

Ƙirƙirar tushen bayanan bayanai da aikace-aikace tare da tsarin baya ya kasance tsari mai sauƙi. Ina buga abin karantawa akan Github - kuma sau da yawa a cikin sa'a guda, sa'o'i biyu a mafi yawan, komai yana aiki kuma na fara sabon aiki. Ƙarawa da lambar aiki, aƙalla don yanayin farko, ana yin shi a rana ɗaya. Amma idan muka kuskura zuwa microservices, lokacin ƙaddamarwa na farko ya hauhawa. Ee, yanzu muna da Docker tare da ƙungiyar kade-kade da gungu na injunan K8, amma ga novice shirye-shirye duk wannan ya fi rikitarwa. Ga ƙananan yara da yawa, wannan nauyi ne da gaske mai wahala ne wanda ba dole ba.

Tsarin ba shi da sauƙin fahimta

Mu maida hankali kan karamar mu na dan lokaci kadan. Tare da aikace-aikacen monolithic, idan kuskure ya faru, yana da sauƙi a bi diddigin sa kuma nan da nan matsawa zuwa gyara kuskure. Yanzu muna da sabis ɗin da ke magana da wani sabis ɗin da ke yin layi akan wani abu a cikin bas ɗin saƙo wanda ke sarrafa wani sabis - sannan akwai kuskure. Dole ne mu haɗa duk waɗannan guda ɗaya don a ƙarshe gano cewa Sabis A yana gudana sigar 11, kuma Sabis na E ya rigaya yana jiran sigar 12. Wannan ya bambanta da ƙaƙƙarfan ƙaƙƙarfan log ɗin nawa: yin amfani da tashoshi mai mu'amala/debugger don tafiya. ta hanyar tsari mataki-mataki. Gyara kuskure da fahimta sun zama mafi wahala.

Idan ba za a iya cire shi ba, watakila za mu gwada su

Ci gaba da haɗin kai da ci gaba da ci gaba yanzu sun zama ruwan dare gama gari. Yawancin sabbin manhajoji da nake gani suna ƙirƙira da gudanar da gwaje-gwaje ta atomatik tare da kowane sabon saki kuma suna buƙatar gwaje-gwajen da za a ɗauka da sake dubawa kafin rajista. Waɗannan manyan matakai ne waɗanda bai kamata a yi watsi da su ba kuma sun kasance babban canji ga kamfanoni da yawa. Amma yanzu, don gwada sabis ɗin da gaske, dole ne in cire cikakkiyar sigar aikace-aikacena. Ka tuna cewa sabon injiniyan tare da gungun K8 na ayyuka 150? To, yanzu za mu koya wa tsarinmu na CI yadda za a kawo duk waɗannan tsarin don tabbatar da cewa komai yana aiki da gaske. Wataƙila wannan ƙoƙari ne da yawa, don haka kawai za mu gwada kowane sashi a ware: Ina da tabbacin cewa ƙayyadaddun ƙayyadaddun bayananmu sun isa, APIs suna da tsabta, kuma gazawar sabis ta keɓe kuma ba za ta shafi wasu ba.

Duk sasantawa suna da kyakkyawan dalili. Dama?

Akwai dalilai da yawa don matsawa zuwa microservices. Na ga an yi wannan don ƙarin sassauci, don ƙungiyoyi masu ƙima, don aiki, don samar da ingantaccen dorewa. Amma a zahiri, mun kashe shekaru da yawa a cikin kayan aiki da ayyuka don haɓaka monoliths waɗanda ke ci gaba da haɓakawa. Ina aiki tare da kwararru a cikin fasaha daban-daban. Yawancin lokaci muna magana game da ƙima saboda sun shiga cikin iyakokin bayanan bayanan Postgres guda ɗaya. Galibin tattaunawar akan su ne database scaling.

Amma koyaushe ina sha'awar koyon gine-ginen su. Wane mataki na canzawa zuwa ƙananan sabis suke a? Yana da ban sha'awa ganin ƙarin injiniyoyi suna cewa suna farin ciki da aikace-aikacen su na monolithic. Mutane da yawa za su amfana daga ƙananan ayyuka, kuma fa'idodin za su zarce ƙullun da ke cikin hanyar ƙaura. Amma da kaina, don Allah a ba ni aikace-aikacena na monolithic, wuri a bakin rairayin bakin teku - kuma ina farin ciki sosai.

source: www.habr.com

Add a comment