Көп ижара жөнүндө

Тилекке каршы, бул терминдин орус тилдүү жакшы аналогу жок. Wikipedia берет котормо «көп ижаралык, көп ижаралык». Бул кээде "көп менчик" деп аталат. Бул терминдер бир аз баш аламан болушу мүмкүн, анткени предмет жалдоо же ээлик кылуу менен байланышкан эмес. Бул программалык камсыздоонун архитектурасы жана анын иштешин уюштуруу маселеси. Ал эми акыркысы андан кем эмес маанилүү.

Биз 1С: Enterprise программасында иштин булут (кызмат) моделине мамилени иштеп чыгуу менен бир эле учурда көп ижара жөнүндө түшүнүгүбүздү түзө баштадык. Бул бир нече жыл мурун болгон. Ошондон бери биздин түшүнүгүбүз тынымсыз кеңейди. Биз дайыма бул предметтин жаңы жактарын (жакшы, терс, кыйынчылыктар, өзгөчөлүктөр ж.б.) ачып жатабыз.

Көп ижара жөнүндө

Кээде иштеп чыгуучулар көп ижарага алууну өтө жөнөкөй тема катары түшүнүшөт: "бир нече уюмдардын маалыматтары бир маалымат базасында сакталышы үчүн, бардык таблицаларга уюм идентификатору менен мамычаны кошуп, ага чыпка орнотуу керек." Албетте, биз да ушул учурдан тартып маселени изилдөөнү баштадык. Бирок алар тез эле бул бир гана клиринг экенин түшүнүштү (ошондой эле, жол менен, жеңил эмес). Жалпысынан алганда, бул "бүт өлкө".

Көпчүлүктүн негизги идеясын ушул сыяктуу сүрөттөсө болот. Кадимки колдонуу - бул бир үй-бүлөнү жайгаштыруу үчүн иштелип чыккан, анын инфраструктурасын (дубал, чатыр, суу менен камсыздоо, жылытуу ж.б.) колдонгон коттедж. Көп батирлүү тиркеме көп батирлүү үй болуп саналат. Анда ар бир үй-бүлө бирдей инфраструктураны колдонот, бирок инфраструктура өзү бүт үйгө ишке ашырылат.

Көп ижарага алуу ыкмасы жакшыбы же жаманбы? Бул боюнча сиз абдан ар түрдүү пикир таба аласыз. Дегеле "жакшы же жаман" жок окшойт. Чечилип жаткан конкреттүү милдеттердин контекстинде жакшы жана жаман жактарын салыштыруу керек. Бирок бул өзүнчө тема...

Жөнөкөй мааниде айтканда, көп ижарага алуунун максаты инфраструктуралык чыгымдарды “социалдаштыруу” аркылуу тиркемени тейлөөгө кеткен чыгымдарды азайтуу болуп саналат. Бул "буйрутма үчүн" деп жазгандын ордуна, өндүрүштүк чечимди колдонуу менен (мүмкүн ыңгайлаштыруу жана өзгөртүү менен) колдонмонун баасын төмөндөтүү менен бирдей кыймыл. Бир гана учурда өнүгүү социалдаштырылган, ал эми экинчисинде – эксплуатация.

Анын үстүнө, биз дагы кайталайбыз, сатуу ыкмасына түздөн-түз шилтеме жок. Көп ижаралык архитектура ошондой эле көптөгөн окшош филиалдарды жана холдинг ишканаларын автоматташтыруу үчүн корпоративдик же ведомстволук IT инфраструктурасында колдонулушу мүмкүн.

Биз көп ижарага алуу маалыматтарды сактоону уюштуруу маселеси эмес деп айта алабыз. Бул колдонмонун бүтүндөй иштешинин үлгүсү (анын ичинде анын архитектурасынын олуттуу бөлүгү, жайылтуу модели жана тейлөө уюму).

Көп ижаралык моделдеги эң татаал жана кызыктуу нерсе, биз үчүн, тиркеменин маңызы "бифуркаттар" болуп саналат. Функциянын бир бөлүгү белгилүү бир маалыматтар аймактары (батирлер) менен иштейт жана башка батирлерде жашоочулар бар экенине "кызыкпайт". Ал эми кээ бирлери үйдү бүтүндөй кабылдап, бир эле учурда бардык жашоочулар үчүн иштешет. Ошол эле учурда булар өзүнчө квартиралар экенине көңүл бурбай коюуга болбойт жана зарыл болгон деңгээлде гранулдуулукту жана коопсуздукту камсыз кылуу зарыл.

1С: Enterprise программасында көп ижара модели бир нече технологиялардын деңгээлинде ишке ашырылган. Бул 1С: Enterprise платформасынын механизмдери, механизмдери1C: 1cFresh чечимдерин жарыялоо технологиясы"Ал эми"1C: Чечимди иштеп чыгуу технологиясы 1cFresh", механизмдер BSP (стандарттык подсистемалардын китепканалары).

Бул пункттардын ар бири көп кабаттуу үйдүн жалпы инфраструктурасын курууга салым кошот. Эмне үчүн бул, мисалы, платформада эмес, бир нече технологияларда ишке ашырылат? Биринчиден, анткени кээ бир механизмдер, биздин оюбузча, конкреттүү жайгаштыруу варианты үчүн өзгөртүү үчүн абдан ылайыктуу болуп саналат. Бирок, жалпысынан алганда, бул татаал суроо жана биз ар дайым тандоо алдында турабыз - көп ижарага алуунун тигил же бул аспектилерин кайсы деңгээлде ишке ашыруу жакшы.

Албетте, механизмдердин негизги бөлүгү платформада ишке ашырылышы керек болчу. Мисалы, чыныгы маалыматтарды бөлүү. Бул жерде адамдар көбүнчө көп ижара жөнүндө сөз кыла башташат. Бирок, акырында, көп ижара модели платформанын механизмдеринин олуттуу бөлүгүн "саякаттап" өтүп, аларды тактоо, айрым учурларда кайра карап чыгууну талап кылды.

Платформанын деңгээлинде биз так негизги механизмдерди ишке ашырдык. Алар көп ижара моделинде иштеген тиркемелерди түзүүгө мүмкүндүк берет. Бирок тиркемелер мындай моделде "жашап жана иштеши" үчүн, алардын "жашоо ишмердүүлүгүн" башкаруу системасы болушу керек. 1cFresh технологиялары жана BSP деңгээлиндеги бирдиктүү бизнес-логикалык катмар бул үчүн жооптуу. Көп батирлүү үйдөгү инфраструктура тургундарды керектүү нерселердин бардыгы менен камсыз кылгандай эле, 1cFresh технологиялары да көп батирлүү моделде иштеген тиркемелер үчүн керектүү нерселердин баарын камсыз кылат. Жана тиркемелер бул инфраструктура менен (олуттуу өзгөртүүлөрсүз) өз ара аракеттене алышы үчүн, аларга BSP подсистемалары түрүндө тиешелүү "туташтыргычтар" жайгаштырылат.

Платформанын механизмдеринин көз карашынан алганда, биз тажрыйба топтоп, “1С: Enterprise” булутту колдонуу учурун иштеп чыгуу менен бирге, биз бул архитектурага катышкан механизмдердин курамын кеңейтип жатканыбызды байкоо оңой. Бир эле мисал келтирели. Көп ижаралык моделде тиркеме кызматынын катышуучуларынын ролдору олуттуу өзгөрөт. Колдонмолорду иштетүү үчүн жооптуу адамдардын ролу (жоопкерчилик деңгээли) кыйла жогорулайт. Бул аларга күчтүү колдонмо башкаруу куралдары үчүн зарыл болуп калды. Анткени тиркемени колдонуучулары (резиденттери) биринчи кезекте алар менен иштеген провайдерге ишенишет. Бул үчүн биз жаңысын ишке ашырдык коопсуздук профилинин механизми. Бул механизм провайдердин администраторлоруна тиркемени иштеп чыгуучулардын эркиндигин коопсуздуктун талап кылынган деңгээлине чейин чектөөгө мүмкүндүк берет - түпкүлүгүндө ар бир ижарачы үчүн белгилүү бир кум чөйрөдө тиркеменин иштешин обочолонтуу.

Көп ижаралык режимде иштеген тиркемелерди башкаруу архитектурасы (1cFresh жана BSP технологияларында эмнелер ишке ашырылат) кызыктуу. Бул жерде кадимки жайгаштыруу моделине салыштырганда башкаруу процесстерин автоматташтыруу талаптары бир кыйла жогорулаган. Мындай процесстер ондоп саналат: жаңы маалымат аймактарын түзүү («батирлер»), тиркемелерди жаңылоо, ченемдик маалыматты жаңыртуу, резервдик көчүрмөлөр ж.б. Жана, албетте, ишенимдүүлүк жана жеткиликтүүлүк деңгээлине талаптар көбөйүүдө. Мисалы, тиркемелерди жана башкаруу тутумунун компоненттеринин ортосундагы ишенимдүү өз ара аракеттенүүнү камсыз кылуу үчүн, биз кепилденген жеткирүү менен асинхрондук чалуу системасынын технологиясын ишке ашырдык.

Абдан тымызын пункт - бул маалыматтарды жана процесстерди социалдаштыруунун жолу. Бул жөнөкөй көрүнөт (эгер кимдир бирөө үчүн көрүнсө) бир караганда. Эң чоң көйгөй - маалыматтарды жана процесстерди борборлоштуруу менен борбордон ажыратуу ортосундагы тең салмактуулук. Бир жагынан борборлоштуруу чыгымдарды кыскартууга мүмкүндүк берет (диск мейкиндиги, процессордун ресурстары, администратордун аракеттери...). Экинчи жагынан, ал “ижарачылардын” эркиндигин чектейт. Бул так тиркеменин "бифуркациясынын" учурларынын бири, анда иштеп чыгуучу тиркеме жөнүндө бир эле учурда тар мааниде (бир "батирди" тейлөө) жана кеңири мааниде (бир эле учурда бардык "ижарачыларды" тейлөө) ойлонушу керек. .

Мындай “дилеммага” мисал катары ченемдик-укуктук жана маалымдама маалыматтарды келтирүүгө болот. Албетте, үйдүн бардык "ижарачыларына" жалпы кылуу үчүн чоң азгырык бар. Бул аны бир нускада сактоого жана бир эле учурда бардыгы үчүн жаңыртууга мүмкүндүк берет. Бирок айрым тургундарга конкреттүү өзгөртүүлөр керек болуп калат. Кызык жери, бул иш жүзүндө, атүгүл жөнгө салуучу органдар (мамлекеттик органдар) тарабынан аныкталган маалымат үчүн да кездешет. Бул кыйын суроо болуп чыгат: коомдошуу керекпи же жокпу? Албетте, ар бир адам үчүн жалпы маалыматты, ал эми каалагандар үчүн купуя кылуу азгырык. Ал эми бул буга чейин абдан кыйын ишке алып келет. Бирок биз бул боюнча иштеп жатабыз ...

Дагы бир мисал, үзгүлтүксүз процесстерди (график боюнча аткарылган, башкаруу системасы тарабынан демилгеленген ж.б.) ишке ашырууну долбоорлоо. Бир жагынан, алар ар бир маалымат аймагы үчүн өзүнчө ишке ашырылышы мүмкүн. Бул жеңилирээк жана ыңгайлуураак. Бирок, экинчи жагынан, мындай майда гранулдуулук системага чоң жүктү жаратат. Жүктөмдү азайтуу үчүн социалдаштырылган процесстерди ишке ашыруу керек. Бирок алар кылдат изилдөөнү талап кылат.

Албетте, бул абдан олуттуу суроо туулат. Тиркемени иштеп чыгуучулар көп ижарага алууну кантип камсыздай алышат? Бул үчүн алар эмне кылышы керек? Албетте, биз технологиялык жана инфраструктуралык маселелердин жүгү мүмкүн болушунча берилген технологиянын мойнуна түшүшүн камсыз кылууга аракет кылабыз, ал эми тиркемени иштеп чыгуучу бизнес логикалык милдеттерди гана ойлойт. Бирок башка маанилүү архитектуралык маселелер сыяктуу эле, тиркемени иштеп чыгуучулар көп ижара моделинде иштөө боюнча кандайдыр бир түшүнүккө ээ болушу керек жана тиркемелерди иштеп чыгууда бир аз күч-аракет талап кылынат. Неге? Анткени маалыматтардын семантикасын эске албай туруп, технология автоматтык түрдө бере албаган жагдайлар бар. Мисалы, маалыматтык социалдаштыруунун чектерин бирдей аныктоо. Бирок биз бул кыйынчылыктарды кичине калтырууга аракет кылабыз. Мындай колдонмолорду ишке ашыруунун мисалдары бар.

1С: Enterpriseде көп ижарага алууну ишке ашыруу контекстиндеги маанилүү жагдай - бул биз гибрид моделин түзүп жатабыз, анда бир тиркеме көп ижаралык режимде да, кадимки режимде да иштей алат. Бул өтө татаал иш жана өзүнчө талкуунун предмети.

Source: www.habr.com

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster