
Сауда жүйелері үшін бағдарламалық инженерия дизайн үлгілері
Event sourcing, CQRS және биржалар қолданатын архитектуралық үлгілер
Трейдинг жүйелерінде паттерндер неге маңызды
Қаржылық бағдарламалық жасақтама қымбат жолдармен бұзылады: қайталанған тапсырыстар, сәйкессіз баланстар, үнсіз ішінара сәтсіздіктер. Дизайн паттерндері жүлде емес — олар қайталанатын сәтсіздік режимдеріне жауап: аудит мүмкіндігі үшін event sourcing, оқуды жазудан бөлек масштабтау үшін CQRS, каскадты іркілістерді тоқтату үшін circuit breaker, және қайталаулар қосарлап сауда жасамауы үшін идемпотенттілік.
Pub/Sub және бос байланыс
Сәйкестендіру қозғалтқыштары, тәуекел тексерулері және нарық деректерін жариялаушылар үлкен қиыншылық түйінінде (ball of mud) бір-бірін тікелей шақырмауы керек. Publish/subscribe шинасы сәйкестендіргішке толтырылымдарды (fills) шығаруға мүмкіндік береді, ал төменгі ағын қызметтері жоғарғы ағынның іске асыру бөлшектерін білмей жазылады — бірақ сіз әлі де жеткізу кепілдіктерін (кемінде бір рет vs дәл бір рет) және қайталап ойнату үшін сақтауды таңдауыңыз керек.
Circuit breaker және бухтхэдтар
Circuit breaker қайталанған сәтсіздіктерден кейін ауру тәуелділікті шақыруды тоқтатады, оған қалпына келуге уақыт беріп, ағын пулдарыңызды қорғайды. Бухтхэдтар (bulkheads) ресурс пулдарын оқшаулайды, сол арқылы тәртіпсіз аналитика тапсырмасы тапсырыс жіберуден ресурс тартып алмайды.
Күй машиналары мен идемпотенттілік
Тапсырыстар мен аударымдардың заңды өмірлік циклдары бар. Рұқсат етілген өтулерді ақырлы күй машинасында (finite state machine) кодтаңыз, сол арқылы жарамсыз секірулер мүмкін болмайды. Мұны клиент сұраулары бойынша идемпотенттілік кілттерімен қосыңыз, сол арқылы желі қайталаулары қосарланған тірі тапсырыстар тудырмайды.
Сәйкестендіру қозғалтқыштары: баға-уақыт басымдығы
Орталықтандырылған алаңдар келіп түскен тапсырыстарды баға-уақыт басымдығымен қалып отырған өтімділікке сәйкестендіреді. Тізбекішілік сәйкестендіргіштер (көптеген L1 DEX дизайндары сияқты) детерминистік болуы керек: әр валидатор бірдей реттілікті қайта орындап, бірдей күйге келеді — GaiaEx бұл модельді Hyperliquid ережелерінен мұра етеді.
Прагматикалық қабылдау
Бірінші күні әр паттернге табынбаңыз (cargo-cult). Айқын шекаралардан, құрылымдық логтардан және ақша қозғалысы айналасындағы тестілерден бастаңыз. Салыстыру (reconciliation) қиындығы пайда болғанда оқиғалар журналын қосыңыз; сыртқы API-лар мүлтіксіз жұмыс істемей қалғанда circuit breaker қосыңыз. Паттерндер елестетілген емес, нақты жарақаттарды емдейді.

