Микросервистик архитектура
Бир чоң Node тиркемесин кичине, өз-өзүнчө жайгаштырылуучу сервистерге бөлүү
- сервистин чек арасы деген эмне жана аны кантип табуу керектигин түшүндүрө аласыз (катмарлар эмес, чектелген контексттер);
- синхрондуу (суроо/жооп) жана асинхрондуу (окуя/билдирүү) байланыштын арасынан тандай аласыз;
- «ар сервиске өз базасы» эрежесин колдоно аласыз жана жалпы база микросервистерди эмне үчүн бузарын түшүнөсүз;
- микросервистердин компромисстерин жакшы курулган монолитке салыштырып чынчыл баалай аласыз;
- монолит туура жооп болгон, ал эми микросервистер эрте болгон учурларды тааныйсыз.
1. Монолиттен сервистерге
Монолит - бул бир жайгаштырылуучу бирдик. Node дүйнөсүндө бул бир Express тиркемеси: багыттоо, бизнес-логика жана базага кирүү бир процессте жашайт жана чогуу чыгарылат. Бул толук жакшы архитектура - аны иштетүү жөнөкөй, бир стек изи менен катаны табуу оңой, ал эми базанын транзакциясы бүт доменди камтый алат. Көпчүлүк системалар ушул жерден баштоосу керек.
Монолит бир код базасы жана бир жайгаштыруу командага тоскоол боло баштаганда оорулуу болот: бир жай модуль бүт тиркемени масштабдоого мажбурлайт, бир тобокелдүү өзгөртүү ар бир башка релизди бөгөйт, ал эми чоңоюп жаткан команда бир эле файлдарда тынымсыз кагылышат. Микросервистер бул уюштуруучулук жана масштабдоо басымына тиркемени бизнес-мүмкүнчүлүктөр боюнча бөлүп жооп берет - orders, payments, inventory, notifications - ар бири өзүнчө Node процесси катары иштейт, өз графиги боюнча жайгаштырылат, өз метрикалары боюнча масштабдалат.
Салыштыруу. Монолит - бул бир чоң ресторандын ашканасы, анда бардык ашпозчулар бир столдорду, бир муздаткычты жана бир заказ дептерин бөлүшөт. Команда кичине болгондо бул натыйжалуу. Микросервистер фуд-корт сыяктуу: ар бир текченин (гриль, суши, наабайкана) өз столу, өз муздаткычы, өз кызматкери бар жана калгандарын токтотпостон ачыла, жабыла же кеңейе алат. Координация эми бир зал аркылуу кыйкыруу эмес, текчелердин ортосунда өткөрүлүүчү «билеттер» аркылуу болот - көбүрөөк кыймылдуу бөлүктөр, бирок ар бир текче өз алдынча масштабдалат жана иштебей калат.
Негизги ой жүгүртүү өзгөрүүсү: микросервистер техникалык үлгүдөн көрө көбүрөөк уюштуруучулук үлгү. Аларды көз карандысыз командалар көз карандысыз иштеп чыгуу, жайгаштыруу жана масштабдоо үчүн кабыл алышат. Эгер андай басым жок болсо, ашыкча механизм таза чыгым.