Ինչպե՞ ս է կազմակերպվում failover և պահեստավորում iGaming
Ինչու՞ iGaming հատուկ առարկա DR/BCP
Կազինո պլատֆորմը իրական ժամանակում գումար է (դրամապանակ/դահուկորդ), կենդանի փուլերը (RNG/Lenta.ru), վճարումները, աֆֆիլիատները և խիստ կոմպլանսը։ Ցանկացած «անցք» արագ վերածվում է ֆինանսական և իրավաբանական ռիսկերի։ Այսպիսով, ճարտարապետությունը կառուցվում է կանխատեսելի վերականգնման շուրջ 'հայտնի նպատակներ, հայտնի սցենարներ, փորձարկված ընթացակարգեր։
Հիմնական նպատակներն ու տերմինները
RTO (Recovery Time Objective) - մրցույթի վերականգնման ժամանակը։
Դրամապանակի/ժապավենի համար ՝ 3660-300 վայրկյան (ներերակային ֆեյլովեր), 3,15 րոպե (միջտարածաշրջանային DR)։
RPO (Recovery Point Objective) 'տվյալների թույլատրելի կորուստ։
Ժեգերի համար ՝ 0-5 վայրկյան (սինխրոն/քվազիսինխրոն կրկնօրինակումը), հաշվետվության համար ՝ 2415 ռուբլի։
SLA և Error Budget: ձևավորում են փոխզիջումներ փոփոխությունների և կայունության արագության միջև։
Հաստատակամության շերտեր
1) Ենթակառուցվածքը ՝ Multi-AZ/Multi-Region
Multi-AZ (առնվազն 3 գոտի), բոլոր կրիտիկական ծառայությունները բաժանված են գոտիներով, ավտոմատ BD/անվադողեր։
Multi-Region DR: «տաք» (Active-Active) կամ «տաք» (Acctive-Passive) երկրորդ տարածքը, որտեղ մեկուսացվում է (residency)։
Լուծումը, երբ որ ռեժիմը
Active-Action-ը 'խաղացողների ցածր լատենտ երկու տարածաշրջաններում, cross-region ժապավենը իրադարձությունների համաժամացման միջոցով + խիստ միասնական «ճշմարտության տեղը» հաշվարկների համար։
Active-Passive (warm): ավելի հեշտ և էժան; լոկոմոտիվը պահում է տաք instans + BD կրկնօրինակներ, բայց չի ծառայում։
2) Ցանցը և պարիմետրը
Կրկնօրինակված ingress/WAF, Anycript կամ RF ֆեյլերը առողջության ստուգումներով։- Առանձին egress-դռներ տոմսարկղերի և պրովայդերների համար, երկու տարածաշրջաններում թույլատրված IP ցուցակները։
3) Տվյալները և հերթերը
Ռելյացիոն BD (Postgres): Patroni/Wined HA, AZ-ի սինխրոնային կրկնօրինակները, DR-ում ասինխրոն կրկնօրինակը (բայերի մոնիտորինգի հետ)։ PITR-ը յուրաքանչյուր N րոպեի սարքերով + WAL արխիվը։
OLAP (ClickHouse/BigQuery) 'կրկնօրինակումը/շարդինգը; կորուստը ավելի բարձր է (RPO մինչև 15-30 րոպե)։
Քաշ (Redis) 'կլաստեր failover-ից, բայց ոչ ճշմարտության աղբյուրը։ երբ փոխվում է, տաք տաքացում է։- Իրադարձությունների շարքը (Kafka/NATS) 'հայելային կլաստերներ և/կամ cross-cluster-mirroring, «at-lement-once» երաշխիք, սպառողների վրա իդեմենտի վերահսկողություն։
4) Ծրագրեր և օրինագծեր
Դրամապանակ/դահուկորդ 'stateful միջուկը խիստ կոնսիստենտով, մեկ «վարպետության շրջանակ» տարածաշրջանի վրա։ միջտարածաշրջանային DR-ն «elected writer» ընթացակարգն է կրկնակի ձայնագրությամբ։
Խաղային bridge/API: stateless, հորիզոնական failover health-cheks; idempotencyKey-ը բոլոր ֆինանսական ճանապարհների համար։
Բոնուսները/ծանուցումները/ETL: թույլ են տալիս հետաձգված բուժումը, վերագործարկվում են հերթերից։
Կասա (PMS/crypta) 'մուլտիպրովայդերի ռազմավարություն (առնվազն 2 ռելսեր երկրի վրա), մերչանտների/էնդպոինտների արագ անցումը։
5) Մոսկվա-ստրիմա
Windows RTC/LL-HMS գեյթվեյի հետ։ Fallback-երթուղիները LL-HMS-ի վրա, երբ Peter RTC-ն քայքայվեց։- Տրամաբանության պահպանումը կատարվում է նվագարկչի սահմաններից դուրս, որպեսզի վերագործարկումը չազդի հաշվարկի վրա։
Failover-pattern
Մոսկվա-2019 (երկկողմանի)
Պլյուսներ ՝ նվազագույն RTO/RPO, խաղացողների մոտ։- Մինուսները 'սառցադաշտի բարդությունը և ձայնագրման հակամարտությունները, թանկ ցանցը։
- Պրակտիկա '«մեկ գրող տիրույթի վրա» + event sourcing-ը հարևան տարածաշրջանում պետությունների վերարտադրման համար։
Լոկոմոտիվ (տաք)
Պլյուսներ 'գինի/բարդության հավասարակշռություն։- Մինուսներ ՝ RTO ավելի բարձր, անհրաժեշտ է պասիվ տարածաշրջանի «խթանված» պլանը։
- Պրակտիկա 'ավտոմատիկա + ձեռքով ապացույց (4-աչքի սկզբունք) դրամապանակը փոխելիս։
Ներերակային (Multi-AZ)
Autofeilover BD/kash/ingress.
Առանց RF/Anycript, RTO վայրկյան։
Պահեստավորում (Backup) տվյալների դասարաններում
Սկզբունքները
Bakap-ը կոդավորված է հանգստի և տարանցման մեջ, բանալիները KFC/HSM-ում։- Immutable-ռեժիմը (WORM) կրիտիկական բեքապների համար (պաշտպանություն լվացքից/ծածկագրողներից)։
- Բեքապների կատալոգը մետատվականներով (սխեմայի տարբերակը, WAL պատուհանը, վերահսկողական գումարները)։
- PITR-ը պարտադիր է սառցադաշտի համար։
Տվյալները և գաղափարախոսությունը 'ինչպես խուսափել «անցքից» ֆեյլովերի ժամանակ
IdempotencyKey-ը 'bet-ի պահանջների վրա։ place`, `payout. request`, `cashier. webhook`.
Լեջերը միայն append-only-ն է, կրկնվող settle-ը կստեղծի հիբրիդային ձայնագրություն, ոչ թե «վերարտադրություն»։
Գործարքային ամրոցները/հավասարակշռության տարբերակները պաշտպանում են մրցավազքից, երբ փոխում են գրողի դերը։
Իրադարձությունների deduplication (consumer-side, hash առանցքային թեմերով)։
Կասա, PSA և ծպտյալ. B պլանը միշտ միացված է
Առնվազն երկու պրովայդեր վճարման մեթոդի համար (քարտեզը/ARM), որը նախապես ստեղծվել է մերչանտ հաշիվների երկու տարածաշրջաններում։
Սթեյբլկոինների համար երկու ցանցեր են (օրինակ, TRC-20 և ERC-20) և երկու on/off-ramp-պրովայդեր։
Երթուղիչը նշում է. Երբ PBS-ն անմիջապես անցնում է պահեստային, տանում է պատճառների ամսագիր։- KYT/AML հոսքերը կրկնապատկվում են։ եթե արտաքին ծառայությունը անհասանելի է '«degraded mode» ձեռքով շարժասանդուղքով։
Վիրահատական ընթացակարգերը (Runbooks)
Ավտոմատ
Health-chek շղթայի շղթա ingress of API-ն նշանակեց BD-ի դրամապանակը։- Դրամապանակի քայքայման ժամանակ «ծանր» գործառույթների (Records/առաքելության) ինքնությունը։
- Timauts/retras էքսպոնենցիալ դադարով և խիստ dedlines։
Ձեռքի (հաստատմամբ)
Պրոմուշենը DR-տարածաշրջանի մեջ է ՝ քայլերի, ամսաթվերի, կոմմ ձևանմուշների (sapport/գործընկերներ/կարգավորիչ)։
Փոխհատուցում/VOID-ը տուրերում 'պատճառների բարձրացում, հղում վիդեո ֆիդին, ստորագրությունը։- Բեղմնավորումը կապված է երկակի վերահսկողության հետ։
Ուսուցումներ և պատրաստակամության ստուգումներ
Game Day/Chaos Systel ամսական 'AZ անջատումը, BD-ի քայքայումը, պրովայդերի անկումը։- Fox DR Rehearsal-ը եռամսյակային է 'բարձրացնել DR-ի տարածքը «ամբողջ աճով», հանել իրական սցենարները 2019/2019։
- Restore-թեստեր 'վերականգնել սառցադաշտը T ժամանակի ընթացքում, կրճատել P & L-ի և ծանր կտրվածքների հետ։
- Table-top-top-ով 'ով և ով է տեղեկացնում, թե ինչ զեկույցներ են ձևավորվում (կարգավորիչ, PSA, աֆֆիլիատներ)։
Դիտողությունն ու ֆեյլերի ազդանշանները
SLO-metrics: p95 latency դրամապանակ, մասնաբաժինը 'bet։ rejected ', settle express, SLA 2019, BD վերարտադրողական լագը, Kafka-consumer լագը։
Փոխարկումների իրադարձությունները ՝ «role change», «replationlag> X», «object-entk violation»։
Dashbords DR 'հանգույցների ներկա դերը, RPO գնահատումը (WAL րոպեները), PITR պատուհանի կարգավիճակը։
Անվտանգություն և ընկերակցություն
Տվյալների մեկուսացումը (EU/UK/CA/...) 'կրկնօրինակումը թույլատրելի օրենքների սահմաններում։- Ամսագրերը անփոփոխ են (S3 Object Systek/WORM), կարգավորող ժամկետի ռենտենշն։
- Գաղտնիքները 'կոդավորման ռոտացիան, պարտականությունների բաժանումը (dront-24l) DR վիրահատությունների համար։
- Բոլոր անցումների և վերականգնումների աուդիտ-թրեյլերը։
Anti-patterns, որոնք կոտրում են DR
Մեկ PSA/մեկ steblcoine ցանցը երկրի վրա, ոչ մի ռելսային ցանց չկա։- OLTP-ը և OLAP-ը մեկ BD-ում, վերականգնումը արգելափակում է «կենդանի» վիրահատությունները։
- Ոչ idempotencyKey-ը ռելսերի ընթացքում բանավեճի/հետքի դուբլներ է։
- Bakaps առանց ռուսական restore թեստի '«shrodinger bakap»։
- WORM/immutability-ի բացակայությունը ինսայդերի/վնասակար հեռացման խոցելիությունն է։
- MS-ֆեյլերը առանց կարճ TTL և կոտրված էնդպոինտների։
- Երկու տարածաշրջաններում ժապավենի միակ գրողը միաժամանակ պետության բաժանումն է։
Չեկ-սլաքային պատրաստակամություն դժբախտ պատահարների համար
Ճարտարապետություն
- Multi-AZ-ը բոլոր կրիտիկական ծառայությունների համար, փաստաթղթավորված տեղաբանություն։
- DR տարածաշրջանը նկարագրված դերով (Active-Active/Passive) և բյուջեով։
Տվյալները
- Postgres: PITR, դիպուկահարներ, լագ-2019, ռուսական վերականգնողական թեստեր։
- Kafka/NATS 'հացահատիկ/արխիվ, ռելեային պլան։
- ClickHouse/OLAP 'կուսակցական bakaps, ընտրության վերականգնում։
- S3: Object Prok (WORM), տարբերակները, քրոս տարածքը։
Ծրագրեր
- Idempotency փողի մեջ, append-only ժապավենը, հավասարակշռության տարբերակումը։
- Avto-feature-degrade միջադեպերի ժամանակ (off)։
- Կանարյան ստուգումները նախքան տարածաշրջանի անցումը։
Գանձապահը և գաղտնիքը
- Մեթոդի երկու պրովայդեր և երկու ցանցեր սթեյբլների համար։
- Տեղափոխման պատճառները և ամսագիրը։
- KYT/AML degrade ռեժիմում էսկալացիայի հետ։
Վիրահատություններ
- Runbooks RACI-ով և հեռախոսներով հերթապահ։
- Ամսական Chaos-օրեր և զանգվածային Fox-DR ուսուցումներ։
- Հաղորդակցման ձևանմուշները (sapport, գործընկերներ, կարգավորիչ)։
Դիտարկումը
- Dashbords RTO/RPO, ալտերտեր BD, Lages, մերժումներ 2019/2019։
- Անջատման և վերականգնման աուդիտ-լոգ։
iGaming-ի հուսալիությունը ոչ թե «կեղծ կոճակ» է, այլ սովորությունների համակարգ 'աշխարհագրական մեկուսացում, կանխատեսելի RTO/RPO, idempotent գումար, բազմաբնույթ դրամարկղ, imutable-bakaps, տեխնոլոգիական վարժություններ և թափանցիկ հաղորդակցություն։ Այս կարգապահությունը թույլ է տալիս անհանգստանալ առանց ժապավենի ձախողումների, առանց «ծածկված» փուլերի և առանց խաղացողների և կարգավորողների վստահության։