Реактор продукцияһы менән тәьмин итеүсе булараҡ, мин йыш ҡына клиенттар менән беҙҙең реакторҙар эске эшмәкәрлеге тураһында тәрән фекер алышыуҙар менән шөғөлләнәм. Реактор архитектураһында төп роль уйнаған тәнҡитле компоненттарының береһе – ваҡиға демультиплексы. Был блогта, мин роле тураһында ентекләп сара демультиплексы реактор һәм уның әһәмиәте дөйөм система.
Реактор өлгөһөн аңлау
Ваҡиға демультиплексы роленә тәрән инеп киткәнсе, Реактор өлгөһөн төп аңлау мөһим. Реактор өлгөһө — ваҡиға менән эш итеү өлгөһө, хеҙмәтләндереүҙең үтенестәрен бер үк ваҡытта бер йәки бер нисә индереү менән хеҙмәтләндергәнгә тапшырыла. Һуңынан хеҙмәтләндереүҙе обработчик демультивекстары килгән запростар һәм уларҙы синхрон рәүештә ебәреп, бәйле запростарҙы эшкәрткән.
Реакторҙа нигеҙләнгән системала Реактор үҙәк диспетчер булып эшләй. Ул бер нисә сығанаҡтан ваҡиғаларҙы көтә, мәҫәлән, селтәр розеткалары, файл дескрипторҙары йәки таймер ваҡиғалары. Бер ваҡиға килеп сыҡҡас, Реактор был ваҡиға өсөн тейешле обработчикты билдәләй һәм уны саҡыра. Был ҡалып юғары – эш һөҙөмтәлелеген, ваҡиғаны - двигателдәр менән эшләүҙе ябайлаштыра, ваҡиға логикаһын ҡушымта логикаһынан айырып айырып.
Ваҡиға демультиплексы роле
Ваҡиға демультиплексы булып тора, төп компонент эсендә Реактор архитектураһы. Уның төп функцияһы — бер юлы бер нисә ваҡиға сығанаҡтарын күҙәтеү һәм был сығанаҡтарҙан теләһә ҡайһыһында ваҡиға булғанда Реакторға хәбәр итеү.
1. Күп ваҡиға сығанаҡтарын күҙәтеү
Ысынбарлыҡта – донъя сценарийында реакторға нигеҙләнгән ҡушымтаға төрлө сығанаҡтарҙан ваҡиғаларҙы хәл итергә кәрәк булыуы ихтимал. Мәҫәлән, селтәр серверы бер нисә розеткала клиенттар тоташыуҙарын эшкәртергә, был розеткаларҙан мәғлүмәттәрҙе уҡырға кәрәк булыуы мөмкин, шулай уҡ сеанс тайм-ауттар кеүек бурыстар өсөн таймер ваҡиғалар менән идара итеү. Сара демультиплексы был бөтә төрлө ваҡиға сығанаҡтарын күҙәтеп тороу өсөн яуаплы.
Ул был сығанаҡтарҙы һөҙөмтәле күҙәтеү өсөн эшләү - система - аныҡ механизмдар ҡуллана. Unix-та системалар кеүек дөйөм механизмдар инә.һайлап алырға, 1990 й.һорау алыу ., 1990 й.эполл(Линукс - аныҡ), һәмккет(БСД - нигеҙендә системалар). Был механизмдар ваҡиға демультиплексыһына бер нисә файл дескрипторын теркәргә мөмкинлек бирә (улар селтәр розеткаларын, файлдарын һ.б. күрһәтә ала) һәм мәғлүмәттәр уҡыу өсөн мөмкин булған ваҡиғаларҙы көтөп, яҙыу өсөн әҙер булыу, йәки хата шарты.
Мәҫәлән, ҡулланғандаэполлLinux - нигеҙендә Reactor системаһында, ваҡиға демультиплексы тәүҙә булдыра.эполлосраҡ. Һуңынан, ул өҫтәй файл дескрипторҙары бөтә ваҡиға сығанаҡтары, ул был инстанцияға күҙәтеү теләй. Ул һәр файл дескрипторы өсөн ҡыҙыҡһынған ваҡиғалар төрҙәрен күрһәтә ала, мәҫәлән, .Эполл(уҡыу өсөн мәғлүмәттәр) йәкиЭПОЛЛОУТ(яҙыу өсөн әҙер). Бер тапҡыр ваҡиға демультиплексы шылтыратаэпол_көтмөфункцияһы, ул блокировать тиклем бер йәки бер нисә күҙәтелгән ваҡиғалар була.
2. Ваҡиғалар тураһында хәбәр итеү
Бер тапҡыр ваҡиға күҙәтелгән сығанаҡтарының береһендә барлыҡҡа килгәс, ваҡиға демультиплексы Реакторға хәбәр итеү өсөн яуаплы. Ул был хәл булған ваҡиғалар тураһында мәғлүмәтте ҡайтарып эшләй. Был мәғлүмәт, ғәҙәттә, ваҡиға һәм ваҡиға төрө менән бәйле файл дескрипторын үҙ эсенә ала (мәҫәлән, уҡыу - әҙер, яҙыу - әҙер).
Артабан Реактор был мәғлүмәтте ҡулланып, ваҡиға өсөн тейешле ваҡиға обработчигын билдәләй. Мәҫәлән, әгәр ваҡиға демультивиплексер хәбәр итә Реактор, мәғлүмәттәр өсөн уҡыу өсөн айырым розетка, Reactor эҙләп, был розетка менән бәйле обработчик һәм уны саҡырырға. Был айырыу ваҡиға мониторингы һәм ваҡиғалар менән эш итеү бурыстарын системаны модуллерәк һәм хеҙмәтләндереүҙе еңеләйтә.
3. Һөҙөмтәлелек һәм масштаблылыҡ
Ваҡиға демультиплексыһы Реактор системаһының һөҙөмтәлелегенә һәм масштаблылығына һиҙелерлек булышлыҡ итә. Ҡулланыу ярҙамында - система - оптималь механизмдар күҙәтеү өсөн бер нисә ваҡиға сығанаҡтары, ул күп һанлы бер үк ваҡытта ваҡиғалар менән эш итә ала, артыҡ ресурстар ҡулланмай.
Мәҫәлән,эполлмеханизмы Linux-та традиционға ҡарағанда күпкә яҡшыраҡ эшмәкәрлеккә эйәһайлап алырғаһәмһорау алыу .механизмдары менән эш иткәндә күп һанлы файл дескрипторҙары.эполлваҡиға - двигателдәр алымы һәм ваҡыт ҡатмарлылығы бар O(1) ваҡиға тураһында хәбәр итеү өсөн, тимәк, ваҡыт кәрәк, тип хәбәр итеү өсөн Реактор ваҡиға тураһында хәбәр итеү һаны күҙәтелгән файл дескрипторҙары. Был мөмкинлек бирә Реактор - нигеҙләнгән системаһы масштабында меңдәрсә йәки хатта миллиондарса бер үк ваҡытта тоташыуҙар менән эш итеү.
Реактор эшмәкәрлегенә йоғонто яһау
Сара демультиплексы эшмәкәрлеге туранан-тура йоғонто яһай дөйөм эшмәкәрлеге Реактор системаһы. Яҡшы - тормошҡа ашырылған ваҡиға демультиплексы ваҡиғаның барлыҡҡа килгәне менән уны эшкәрткән араһындағы латентлыҡты кәметә ала. Был ҡушымталар өсөн мөһим, улар реаль ваҡыт йәки яҡын - реаль ваҡытҡа яуап талап итә, мәҫәлән, онлайн уйын серверҙары, финанс сауҙа системалары, һәм юғары - йышлыҡ селтәре хеҙмәттәре.
Икенсе яҡтан, насар тормошҡа ашырылған ваҡиға демультиплексы системала тар муйынға әйләнә ала. Мәҫәлән, әгәр ҙә ваҡиға демультивплексеры ваҡиғаларҙы күҙәтеү өсөн һөҙөмтәһеҙ алгоритм ҡулланһа йәки Реакторға хәбәр итеүҙә юғары накладнойға эйә булһа, ул бөтә ҡушымтаны яйлатырға мөмкин.
Беҙҙең реактор продукцияһы һәм ваҡиғалар демультиплексы
Беҙҙең компанияла, беҙ аңлайбыҙ, тәнҡит роле ваҡиға демультиплексы Реактор системаһында. Беҙҙең Reactor продукцияһы юғары - етештереүсәнлек ваҡиғалар демультиплекстары менән эшләнгән, оптималь эшмәкәрлекте һәм масштаблылыҡты тәьмин итеү өсөн.
Беҙ ҡулланабыҙ һуңғы операцион - системаһы - аныҡ механизмдар өсөн ваҡиғалар демультиплексирование, мәҫәлән, .эполлLinux системаларында һәмккетБСД - нигеҙендә системалар. Был беҙҙең реакторҙарға күп һанлы бер үк ваҡыттағы ваҡиғалар менән һөҙөмтәле эш итергә мөмкинлек бирә, уларҙы киң спектрлы ҡушымталар өсөн яраҡлы итә, бәләкәй масштаблы селтәр хеҙмәттәренән алып ҙур масштаблы мәғлүмәт үҙәктәренә тиклем.
Беҙҙең реактор продукцияһы шулай уҡ һығылмалылыҡты тәьмин итә конфигурациялау сара демультиплексы. Ҡулланыусылар үҙҙәре күҙәтергә теләгән ваҡиғалар төрҙәрен һәм ваҡиғаларҙы нисек хәл итеү ысулын үҙгәртә ала. Был һығылмалылыҡ беҙҙең клиенттарға Reactor системаһын үҙҙәренең аныҡ ҡушымта талаптарына ярашлы итеп әҙерләргә мөмкинлек бирә.
Әгәр һеҙ беҙҙең тураһында күберәк белергә ҡыҙыҡһыныуРеакторпродукция, шулай уҡ бәйле продукция кеүекҺаҡлау танкыһыһәмБашня Контейнер, зинһар, һатып алыуҙар тураһында фекер алышыуҙар өсөн беҙҙең менән бәйләнешкә инергә иркен. Беҙ юғары - сифатлы продукция һәм һеҙҙең ихтыяждарҙы ҡәнәғәтләндерер өсөн шәп хеҙмәтләндереүҙе тәьмин итеү өсөн үҙ өҫтөнә ала.
Һығымта
Йәмғеһе, ваҡиға демультиплексы булып тора, мөһим компонент Реактор системаһы. Ул бер нисә ваҡиға сығанаҡтарын күҙәтеүҙә, ваҡиға булғанда Реакторға хәбәр итеүҙә һәм системаның һөҙөмтәлелегенә һәм масштаблылығына булышлыҡ итеүҙә мөһим роль уйнай. Реактор менән тәьмин итеүсе булараҡ, беҙ ваҡиға демультиплексы әһәмиәтен таныйбыҙ һәм беҙҙең продукцияға юғары - етештереүсәнлек ваҡиғаһы демультиплекслау механизмдарын индерҙек. Әгәр һеҙ баҙарҙа ышаныслы һәм юғары - етештереүсәнлеге Reactor, беҙ һеҙгә беҙгә мөрәжәғәт итергә саҡырабыҙ һатып алыуҙар тураһында фекер алышыуҙар өсөн.
Һылтанмалар
- "Паттерн - йүнәлешле программа тәьминәте архитектураһы, 2-се том: Дуглас С. Шмидт һ.б.
- "UNIX селтәрҙе программалау, 1-се том: розеткалар селтәре API" У. Ричард Стивенс.
