Fun mi pada monolith mi

O dabi pe tente oke ti aruwo fun awọn iṣẹ microservices wa lẹhin wa. A ko ka awọn ifiweranṣẹ mọ ni ọpọlọpọ igba ni ọsẹ kan “Bawo ni MO ṣe gbe monolith mi si awọn iṣẹ 150.” Ni bayi Mo gbọ awọn ero ọgbọn ti o wọpọ: “Emi ko korira monolith, Mo kan bikita nipa ṣiṣe.” A tilẹ̀ ṣàkíyèsí ọ̀pọ̀ ìṣíkiri lati microservices pada si monolith. Nigbati o ba nlọ lati ohun elo nla kan si awọn iṣẹ kekere pupọ, iwọ yoo ni lati yanju ọpọlọpọ awọn iṣoro tuntun. Jẹ ki a ṣe atokọ wọn ni ṣoki bi o ti ṣee.

Eto: lati kemistri ipilẹ si awọn ẹrọ kuatomu

Ṣiṣeto ipilẹ data ipilẹ ati ohun elo pẹlu ilana isale jẹ ilana titọ ni deede. Mo ṣe atẹjade readme lori Github - ati nigbagbogbo lẹhin wakati kan, awọn wakati meji ni pupọ julọ, ohun gbogbo n ṣiṣẹ, ati pe Mo bẹrẹ iṣẹ akanṣe tuntun kan. Ṣafikun ati koodu ṣiṣiṣẹ, o kere ju fun agbegbe ibẹrẹ, ni a ṣe ni ọjọ kan. Ṣugbọn ti a ba mu riibe sinu microservices, ni ibẹrẹ ifilole akoko skyrockets. Bẹẹni, ni bayi a ni Docker pẹlu orchestration ati iṣupọ ti awọn ẹrọ K8, ṣugbọn fun olupilẹṣẹ alakobere gbogbo eyi jẹ idiju pupọ sii. Fun ọpọlọpọ awọn ọdọ, eyi jẹ ẹru ti o jẹ ilolu ti ko wulo.

Eto naa ko rọrun lati ni oye

Jẹ ki ká idojukọ lori wa junior fun iseju kan. Pẹlu awọn ohun elo monolithic, ti aṣiṣe kan ba waye, o rọrun lati tọpinpin rẹ ki o lọ lẹsẹkẹsẹ si n ṣatunṣe aṣiṣe. Bayi a ni iṣẹ kan ti o n sọrọ si iṣẹ miiran ti o npa nkan kan lori ọkọ akero ifiranṣẹ ti n ṣiṣẹ iṣẹ miiran - lẹhinna aṣiṣe waye. A ni lati fi gbogbo awọn ege wọnyi papọ lati rii nikẹhin pe Iṣẹ A n ṣiṣẹ ẹya 11, ati pe Iṣẹ E ti n duro de ẹya 12. Eyi yatọ pupọ si akọọlẹ isọdọkan boṣewa mi: nini lati lo ebute ibaraenisepo / debugger lati rin. nipasẹ awọn ilana igbese nipa igbese. N ṣatunṣe aṣiṣe ati oye ti di ohun ti o nira sii.

Ti ko ba le ṣatunṣe, boya a yoo danwo wọn

Ibarapọ ilọsiwaju ati idagbasoke ti nlọsiwaju ti di ibi ti o wọpọ. Pupọ awọn ohun elo tuntun ti Mo rii ṣẹda laifọwọyi ati ṣiṣe awọn idanwo pẹlu itusilẹ tuntun kọọkan ati nilo awọn idanwo lati mu ati atunyẹwo ṣaaju iforukọsilẹ. Iwọnyi jẹ awọn ilana nla ti ko yẹ ki o kọ silẹ ati pe o jẹ iyipada nla fun ọpọlọpọ awọn ile-iṣẹ. Ṣugbọn ni bayi, lati ṣe idanwo iṣẹ naa gaan, Mo ni lati fa ẹya iṣẹ ṣiṣe ni kikun ti ohun elo mi. Ranti pe ẹlẹrọ tuntun pẹlu iṣupọ K8 ti awọn iṣẹ 150? O dara, ni bayi a yoo kọ eto CI wa bii o ṣe le gbe gbogbo awọn ọna ṣiṣe wọnyi lati rii daju pe ohun gbogbo n ṣiṣẹ gaan. Eyi ṣee ṣe igbiyanju pupọ, nitorinaa a kan yoo ṣe idanwo apakan kọọkan ni ipinya: Mo ni igboya pe awọn alaye lẹkunrẹrẹ wa dara to, awọn API jẹ mimọ, ati pe ikuna iṣẹ ti ya sọtọ ati kii yoo kan awọn miiran.

Gbogbo awọn adehun ni idi ti o dara. otun?

Awọn idi pupọ lo wa lati gbe si awọn iṣẹ microservices. Mo ti rii eyi ti a ṣe fun irọrun nla, fun awọn ẹgbẹ iwọn, fun iṣẹ ṣiṣe, lati pese iduroṣinṣin to dara julọ. Ṣugbọn ni otitọ, a ti ṣe idoko-owo ewadun ni awọn irinṣẹ ati awọn iṣe lati ṣe idagbasoke awọn monoliths ti o tẹsiwaju lati dagbasoke. Mo ṣiṣẹ pẹlu awọn akosemose ni awọn imọ-ẹrọ oriṣiriṣi. A maa n sọrọ nipa wiwọn nitori wọn ṣiṣe sinu awọn opin ti aaye data Postgres kan ṣoṣo. Pupọ julọ awọn ibaraẹnisọrọ jẹ nipa database igbelosoke.

Sugbon Mo wa nigbagbogbo nife ninu eko nipa wọn faaji. Ipele wo ni iyipada si awọn iṣẹ microservices wa? O jẹ ohun ti o nifẹ lati rii diẹ sii awọn ẹlẹrọ ti n sọ pe wọn ni idunnu pẹlu ohun elo monolithic wọn. Ọpọlọpọ awọn eniyan yoo ni anfani lati awọn microservices, ati awọn anfani yoo ju awọn bumps ni ọna ijira. Ṣugbọn tikalararẹ, jọwọ fun mi ni ohun elo monolithic mi, aaye kan ni eti okun - ati pe inu mi dun patapata.

orisun: www.habr.com

Fi ọrọìwòye kun