Yiyan ara ayaworan (apakan 2)

Hello, Habr. Loni Mo tẹsiwaju lẹsẹsẹ awọn atẹjade ti Mo kọ ni pataki fun ibẹrẹ ṣiṣan tuntun ti iṣẹ-ẹkọ naa. "Oluṣakoso Software".

Ifihan

Yiyan ara ayaworan jẹ ọkan ninu awọn ipinnu imọ-ẹrọ ipilẹ nigbati o ba kọ eto alaye kan. Ninu jara ti awọn nkan yii, Mo daba lati ṣe itupalẹ awọn aṣa ayaworan olokiki julọ fun awọn ohun elo kikọ ati dahun ibeere ti igba wo ni aṣa ayaworan ni o dara julọ. Ninu ilana igbejade, Emi yoo gbiyanju lati fa pq ọgbọn kan ti o ṣalaye idagbasoke ti awọn aza ayaworan lati awọn monoliths si awọn iṣẹ microservices.

В Igba ikeyin a ṣe pẹlu monolith ati pe a pinnu pe monolith ni nọmba awọn iṣoro: iwọn, Asopọmọra, imuṣiṣẹ, scalability, igbẹkẹle ati rigidity.

Ni akoko yii Mo ṣeduro lati sọrọ nipa awọn iṣeeṣe ti ṣeto eto kan bi ṣeto ti awọn modulu / awọn ile-ikawe (itumọ-iṣalaye paati) tabi awọn iṣẹ (itumọ iṣẹ-iṣẹ).

Paati-Oorun faaji

Itumọ ti o da lori paati pẹlu ṣiṣe eto kan gẹgẹbi akojọpọ awọn paati ti o le ṣee lo ninu mejeeji lọwọlọwọ ati awọn iṣẹ akanṣe iwaju. Nigbati o ba fọ eto kan sinu awọn paati, atẹle naa ni a ṣe sinu apamọ: atunlo wọn, rirọpo wọn, ominira ipo, extensibility, encapsulation ati ominira.

Pẹlu lilo to dara ti awọn paati, iṣoro ti “bọọlu nla ti idoti” (iwọn nla + isọpọ giga) ti yanju, ati awọn paati funrararẹ le jẹ awọn ẹya apejọ mejeeji (awọn modulu, awọn ile-ikawe) ati awọn ẹya imuṣiṣẹ (awọn iṣẹ). Awọn ẹya imuṣiṣẹ kii ṣe maapu nigbagbogbo si ilana ṣiṣe: fun apẹẹrẹ, ohun elo wẹẹbu kan ati ibi ipamọ data ni a fi ranṣẹ papọ.

Ni ọpọlọpọ igba, awọn monoliths ni idagbasoke bi ṣeto ti awọn modulu. Ọna yii nyorisi idagbasoke ominira, ṣugbọn awọn iṣoro ti iwọn ominira ati imuṣiṣẹ, ifarada aṣiṣe ati ominira lati akopọ imọ-ẹrọ gbogbogbo wa. Ti o ni idi ti module ni apa kan ominira paati.

Iṣoro ti o tobi julọ pẹlu iru monolith ni pe pipin si awọn modulu jẹ ọgbọn lasan ati pe o le ni irọrun ru nipasẹ awọn olupilẹṣẹ. Module mojuto le han, eyiti o yipada laiyara sinu idalẹnu idoti, ayaworan ti awọn igbẹkẹle laarin awọn modulu le dagba, ati bẹbẹ lọ. Lati yago fun iru awọn iṣoro bẹ, idagbasoke yẹ ki o ṣee ṣe boya nipasẹ ẹgbẹ ti o dagba pupọ, tabi labẹ itọsọna ti “ayaworan” kan ti o ṣiṣẹ ni atunyẹwo koodu akoko ni kikun ati lilu awọn ọwọ ti awọn olupilẹṣẹ ti o ṣẹ ilana ọgbọn.

monolith “bojumu” jẹ eto ti awọn modulu ti o ya sọtọ, ti ọkọọkan wọn wo inu data data tirẹ.

Iṣẹ-Oorun faaji

Ti eto naa ba yẹ ki o ṣeto ni irisi eto awọn iṣẹ, lẹhinna a n sọrọ nipa faaji ti o da lori iṣẹ. Awọn ilana rẹ jẹ ibaraenisepo ohun elo-centric olumulo, ilotunlo iṣẹ iṣowo, ominira akopọ imọ-ẹrọ, ati adaṣe (itankalẹ ominira, iwọn, ati imuṣiṣẹ).

Iṣatunṣe iṣẹ-iṣẹ (SOA = faaji iṣalaye iṣẹ) yanju gbogbo awọn iṣoro ti a mọ ti monolith: iṣẹ kan ṣoṣo ni o kan nigbati iyipada ba waye, ati pe API ti o ni asọye daradara ṣe atilẹyin fifin dara ti awọn paati.

Ṣugbọn kii ṣe ohun gbogbo jẹ dan: SOA ṣẹda awọn iṣoro tuntun. Awọn ipe latọna jijin jẹ gbowolori diẹ sii ju awọn agbegbe lọ, ati awọn ojuse pinpin laarin awọn paati ti di gbowolori pupọ diẹ sii.

Nipa ọna, o ṣeeṣe ti imuṣiṣẹ ominira jẹ ẹya pataki ti iṣẹ naa. Ti awọn iṣẹ ba gbọdọ wa ni ransogun papọ tabi, pẹlupẹlu, ni ọna kan, lẹhinna eto naa ko le ṣe akiyesi iṣẹ-ṣiṣe. Ni idi eyi, wọn sọrọ nipa monolith ti a pin (ti a kà si apẹrẹ-egboogi kii ṣe lati oju-ọna ti SOA nikan, ṣugbọn lati oju-ọna ti ile-iṣẹ microservice).

Iṣatunṣe iṣẹ-iṣẹ jẹ atilẹyin daradara nipasẹ agbegbe ayaworan ati awọn olutaja. Eyi tumọ si wiwa ti ọpọlọpọ awọn iṣẹ ikẹkọ ati awọn iwe-ẹri, awọn ilana ti o ni idagbasoke daradara. Igbẹhin pẹlu, fun apẹẹrẹ, ọkọ akero iṣẹ ile-iṣẹ olokiki ti o mọ daradara (ESB = ọkọ akero iṣẹ ile-iṣẹ). Ni akoko kanna, ESB jẹ ẹru lati ọdọ awọn olutaja;

Gbaye-gbale ti iṣẹ faaji ti o da lori iṣẹ ti de ni ayika ọdun 2008, lẹhin eyi o bẹrẹ si kọ silẹ, eyiti o di iyalẹnu diẹ sii lẹhin dide ti awọn iṣẹ microservices (~ 2015).

ipari

Lẹhin ti a ti jiroro awọn iṣeeṣe ti siseto awọn eto alaye ni irisi awọn iṣẹ ati awọn modulu, Mo daba lati nipari gbe siwaju si awọn ipilẹ ti faaji microservice ati san ifojusi pataki si iyatọ laarin faaji microservice ati faaji ti o da lori iṣẹ ni apakan atẹle.

Yiyan ara ayaworan (apakan 2)

orisun: www.habr.com

Fi ọrọìwòye kun