Տեխնոլոգիան և ենթակառուցվածքը Serverless-ի մոտեցումը և գործառույթները
Serverless մոտեցում և գործառույթներ
1) Ի՞ նչ է serverless-ը և երբ այն անհրաժեշտ է
Serverless-ը մի մոդել է, որտեղ ամպը վերցնում է արտադրողների կառավարումը, մասշտաբը և պաթչերը, իսկ թիմը գրում է իրադարձությունների մշակողները և օգտագործում Faaas (Functions-as-a-Express) և BaaS (Express: հերթեր, BD, 2019)։ Դուք շահում եք մատակարարման արագությունը, վճարում եք իրական կատարման համար և հեշտությամբ ավելացնում եք «շիպուչիկ» բեռը։
Որտե՞ ղ է դա հատկապես օգտակար iGaming/fintech-ում
Webhuks PMS/KYC (շատ կարճ հարցումներ, անկանխատեսելի պիկի)։
Հակաֆրոդ/սկորինգ (իրադարձական գործառույթներ, enrichae, feature store)։
Հաշվետվություններ/CDC www.PH (փաթեթային և սթրիմինգի բուժում)։
Մարքեթինգը/CRM (ձգողական իրադարձություններ, թնդանոթներ, կուպոններ, սեգմենացիա)։
Թեթև backend-API-ը և ծառայողական խնդիրները (throttling, com-գործառույթները)։
Երբ ավելի լավ է չօգտագործել սերվերները
Պահանջվում է անընդհատ ցածր P99-լատենտություն (105-10ms) առանց տատանումների։
Երկարատև միացություններ/արձանագրություններ (բարձր հաճախականության real-time առանց հաճախականության)։
Մեծ, stateful հաշվարկներ երկար CPU/GPU և tight coupling-ով։
2) Ճարտարապետական աղյուսները
2. 1 FaaS
Զարգացողները 'HTTP/API-կողպեքներ, գծեր, strimes, timers, օբյեկտի պահեստ, BD-ձգիչներ։
Բարակ մեկնարկը/փաթեթավորումը 'շերտեր/ֆունկցիաներ, տաքացնելով։
2. 2 BaaS և 108
/ striming (at-lement-once), Pub/Sub-ը տիրույթի իրադարձությունների համար։
Մոսկվա: օբյեկտի (հումք/արտեֆակտներ), KV/kash, փաստաթղթեր/ռելյատիկա։
Նվագախումբը 'state machines/step functions, sagi և փոխհատուցում։
API դարպաս 'վավերացում (OAuth/OIDC/HMAC), լիմիտներ, փոխակերպումներ։
2. 3 Ցանցային շարժիչներ
Հանրային ճակատը (edge/API-դարպաս) + մասնավոր գործառույթները CPC-ում, որպեսզի հասնի BD/գաղտնիքները/PSA-ին։
Egress-վերահսկումը 'allow-list PMS/KYC-ի համար, որը ֆիքսված NAT-IP-ն է։
3) Արտադրողականությունը 'սառը սկիզբը, մրցունակությունը, տևողությունը, տևողությունը
Սառը սկիզբը 'գործառույթի բեռնարկղի առաջին գործարկումը անցնելուց հետո։
Միթիգիրու 'նվազեցրեք կախվածությունը, օգտագործեք «periodic prodoke», պահպանեք գործառույթները աղբյուրների հետ նույն գոտում, օգտագործեք երկար թայմաուտներ զգուշորեն։
Մրցակցություն 'տվեք «max _ concurrency» և սահմանները աղբյուրի վրա (հերթեր/կողպեքներ), որպեսզի չվնասեք «PMS/BD»։
Կատարման տևողությունը 'երկար առաջադրանքների համար' բաժանումը + նվագախմբին (step functions), ծանր հաշվարկների համար 'batch/www.ainers։
4) Lenta.ru: Idempotenty, retrai, DLQ, DLQ։
Idempotency: "Idempotency-Key '/deduplication ընդունման վրա (բանալին + TTL պահեստ)։
Retrai: էքսպոնենցիալ backoff + jitter, փորձերի լիմիտներ։ առանձնացրեք բիզնես սխալները (4xx) ռուսական (5xx/timeout)։
DLQ (dead-letter queue) - հաղորդագրությունների համար, որոնք չեն անցել N-ից հետո։ պարտադիր է replay վահանակի և ուղու վրա։
Exactly-once (գրեթե) 'www.box/inbox մոդելներ, իրադարձությունների գործարքային ամսագիր։
5) Վիճակը և նվագախումբը
Առանց ֆունկցիայի վիճակի, վիճակը արտաքին պահեստներում։
State machines: քայլերը 108/եզրակացության, KYC-workflow, հակաֆրոդ ստուգումներ; սխալների/փոխհատուցման հստակ մոդել։
Սագի. «Վերացնել վճարումները փոխհատուցելու համար»։
6) Անվտանգություն և համապատասխանություն
IAM-ը ամենափոքր արտոնությունների սկզբունքով 'per-ֆունկցիայի դերերը, scoping-ը հերթում/բաքեր/աղյուսակներ։
Գաղտնիքները 'գաղտնիքների մենեջեր/KFC, ռոտացիա, HSM մակարդակը մրցույթի համար։
MTSA/HMAC webhuks-ի համար, մարմնի ստորագրությունը, ժամանակի պատուհանը 355 ռուբլի։
Ներկառուցված WAF/բոտ պաշտպանություն API դարպասի վրա, rate-limits/www.tas։
Սեգմենտացիան 'prod/staige, ծառայողական հաշիվներ, մասնավոր սաբսբուրգներ։
PII/PCI 'PAN-ի թունավորումը, լոգարանների դիմակավորումը, «տվյալների նվազեցումը»։
Աուդիտ 'անփոփոխ լոգներ (WORM), զանգերի ուղին, կարգավորող։
7) Դիտողությունն ու որակը վերահսկելը
Մետրիկները ՝ RPS, P50/P95/P99, կոդերի սխալները, տևողությունը, սառը մեկնարկները, գետերի փոխակրիչը, DLQ size-ը։
Թրեյսինգը (OTel) 'փոխկապակցումը' trace _ id '- կողպեքների միջով բացատրվում է BD/PSA կոդավորման գծի ֆունկցիան։ պարտադիր պիտակները «api _ version», «region», «partner»։
Լոգները 'կառուցվածքային, PII դիմակով։
Ալերտները ախտանիշներով ՝ burn-rate SLO, գետերի աճը, P99 պոչը։
Սինթետիկա 'ռուսական երկրներից ստուգումներ (TR/MS/EU), վեբհուկի իմիտացիա։
8) FinOps-ը և արժեքը
Վճարեք «զանգերի և միլիմետրերի համար»։ Հետևելով ՝ գործարկումներ, տևողություն, հիշողություն, օպտիկա։
Ավելացրեք տաք ճանապարհները 'ծանր կախվածություն դեք շերտի/պատկերի մեջ, տեղադրեք միացություններ։
Զսպեք ֆան-աութը (զանգվածային զուգահեռ մարտահրավերներ) լիմիտներով և բատչինգով։
Ճանաչեք «արտահոսքերը» 'անվերջ ռետրոն, DLQ հաղորդագրությունները առանց վերամշակման։
Պլանավորեք պիկի պատուհանները (ռոտորներ/եբենտներ) - նախատիպային պրոգրեսիվ և քվոտաներ։
9) CI/CD և տարբերակների կառավարում
IaC: Terraform/CloudCorporation/SAM/CDK - գործառույթների ձևանմուշներ, հերթեր, իրավունքներ, նավակներ։
Փաթեթավորում ՝ կախվածության ֆայլեր, նվազագույն պատկեր/շերտեր։
Թեստեր 'պայմանագիր-թեստեր (OpenAPI/gRPC), ինտեգրված տեղական ռանտայմի հետ, idempotenty թեստեր։
Deploy: canary/blue-green, feature flags, արագ rollback։
API տարբերակումը '«/vN/» կամ մեդիա։ Deprecation/Sunset-ը և իրադարձությունների սխեմաների համատեղելիությունը։
10) iGaming/fintech
Webhuks վճարումներ/եզրակացություններ. Ստորագրության պահպանումը հաստատվում է idempotention-ի կողմից։ wwww.ated 'wwww.orld նվագախումբն է։
Հակաֆրոդ սկորինգը 'ֆունկցիա-enricher (IP/dewis/geo/պատմություն), ասինխրոն լուծում, թայմաուտներ և fallback ռազմավարություն։
KYC/AML: pline: զուգահեռ ստուգումներ (փաստաթղթեր, սանկցիաներ, PEP), արդյունքների ագրեգացիա, սագներ կրկնվող հարցումների համար։
Դիագրամներ/վարկանիշներ. Road streaming-ագրեգացիայի ժամանակահատվածների իրադարձությունները բացատրում են առաջնորդների աղյուսակների նորարարությունը, TTL-քեշը կարդալու համար։
Կարգավորողների հաշվետվությունները ՝ CDC-ն բացատրում է MSH-ում, SLA-ում տվյալների թարմացման գործառույթները։
Մարքեթինգը/CRM 'վարքագծային գործիքներ, գմբեթներ/թնդանոթներ, դեդուպլիկացիա և լիմիտներ օգտագործողի վրա։
11) Բեկորների օրինակներ
11. 1 Idempotent webhuk (կեղծ)
python def handler(event):
assert verify_hmac(event. headers, event. body, secret)
key = f"idemp:{event. headers['Idempotency-Key']}"
if kv. exists(key):
return kv. get (key) # repeat - give the same result result = process (event. body) # public event, state record kv. set(key, result, ttl=86400)
return result
11. 2 Միջոցների դուրսբերման նվագախումբը (state machine, գաղափար)
1. «validate _ request '242)» calium _ balium '243) «call _ prone» (հետքերով)
2. «await _ webhook» (timaut anobhook) 385) «finalize/notify»։
12) Serverless-ի ներդրման աղյուսակը
1. Բացահայտվում են իրադարձությունների աղբյուրները և պայմանագրերի պայմանագրերը (սխեմաներ/տարբերակներ)։
2. Մրցակցության և «խնամքի» ռետրերի սահմանները տրամադրված են, կան DLQ և replay։
3. Ներառված են մասնավոր ցանցեր/MSC, egress-allow-list, որոնք ամրագրված են IP-ի համար PSA-ի համար։
4. IAM-ը ամենափոքր արտոնությունների սկզբունքով, գաղտնիքները KFC/Secret Live-ում։
5. Observability: OTel-ի ուղին, dashbords R99/սխալ/սառը մեկնարկով։
6. FinOps: Բյուջեներ, արժեքի ալտերտեր, տևողության/հիշողության վերահսկողություն։
7. CI/CD: canary/blue-green, autotests/idempotenty։
8. Մոսկվա: DevPortal/Postman հավաքածուներ, payload 'ov, Deprecation/Sunset օրինակներ։
13) Anti-patterna
«Հաստ» ֆունկցիաները կախվածության մի կտորից պարունակում են դանդաղ սառը մեկնարկներ։
Idempotenty-ի և Webhuks-ի ստորագրության բացակայությունը կրկնապատկվում է/խարդախությունը։
Ֆան-աութը, առանց սահմանների, մրցակցության փոթորիկը, պրովայդերի մոտ տրոտլինգը։
Թայմերի/պսակների տրամաբանությունը առանց ուղու/ալտերի բացատրվում է SLA-ի «հանգիստ» ձախողմամբ։
Prod-գաղտնիքների խառնուրդը փոփոխական միջավայրերում առանց պարամետրերի։
Իրադարձությունների պայմանագրերը առանց Schema Registry-ի և կանոնների։
14) Արդյունքը
Serverless-ը ամպի իրադարձական վիրահատական համակարգ է 'դուք կենտրոնանում եք բիզնեսի տրամաբանության վրա, իսկ մեծացումը և ենթակառուցվածքը' «պահանջով»։ Միացրեք FaaS + կառավարվող ծառայությունները, ավելացրեք impotention, նվագախումբ և դիտողություն, կարգապահեք արժեքը, և կստանաք այն պլատֆորմը, որը դիմանում է պիկի, արագ զարգանում է և մնում է տնտեսապես։