Multi-tenant միջուկը
Multi-tenant միջուկը պլատֆորմի/ապրանքի հիմնական շերտն է, որը սպասարկում է հաճախորդների (tenants) ընդհանուր ռեսուրսների վրա, որոնք երաշխավորված են, կառավարվում են սահմաններով և անվտանգ կաստոմիզացիայով։ Լավ նախագծված միջուկը նվազեցնում է TCO-ը, արագացնում է ուռուցքաբանը, պարզեցնում է օրինագծերը և տալիս կանխատեսելի որակը յուրաքանչյուր վարձողի համար։
1) Վարձակալության մոդելը և մեկուսացման սահմանները
Սահմանումներ
Թենանտը (Tenault/Org/Account) 'տրամաբանական կազմակերպություն սեփական օգտագործողների, տվյալների, քաղաքական և սահմանների հետ։
Մեկուսացում 'մեկ վարձողի ազդեցությունը տվյալների, արտադրողականության և անվտանգության վրա կանխելու ունակություն։
Մեկուսացման մակարդակները
1. Տվյալները ՝ առանձին BD/սխեմաներ/աղյուսակներ, «վարձողի բանալին», ֆիլտրեր «tenom _ id»։
2. Հաշվարկները ՝ CPU/RAM/IO քվոտաները, գողերի փամփուշտը ստվերային կամ «կշռված» տողերի վրա։
3. Ցանցը 'սեգմենացիա, մասնավոր endpoin.ru/MSN, վարձողների ցուցակները։
4. Վիրահատություններ ՝ 108, bakaps, DR և «մեկ վարձողի վրա» ազդեցության սահմանները։
Patters բազմաբնույթ
Silo (կոշտ մեկուսացում) 'առանձին կլաստերներ/BD ստենբուրգի վրա։ Առավելագույն անվտանգությունը, բարձր գինը։
Pool (ընդհանուր ռեսուրսներ), ընդհանուր ենթակառուցվածքը տրամաբանական մեկուսացման հետ։ ավելի լավ արդյունավետություն, ավելի բարձր ռիսկը «disisy neighbor»։
Bridge/Hybrid: հիբրիդ - կառավարման ընդհանուր ինքնաթիռը + ընտրովի «silo» VIP/լուծված հաճախորդների համար։
2) Վարձակալական հարցումների նույնականացումը և երթուղայնացումը
Վարձողի թույլտվությունը (Tenault Resolution)
Օրինակով '"https : ///www.ten.ru _ example։ com`
Ճանապարհին '<
Վերնագրով '«X-Tenault-Id», «X-Org» (ստորագրության ստուգում)
Tokena: cleims 'tenme _ id', «org _ id», «plan», «scopes»
Միկրոօրգանիզացիա
L7-դարպասը (API-gress/Ingress) հանում է «tenium _ id», հարստացնում է ենթատեքստը («plan», limits, տարածաշրջանը), գրում է treiss/logs։
Ֆունկցիոնալ ծառայությունները ընդունում են «միայն կարդալու» համատեքստը։ երթուղու և սահմանների վերաբերյալ որոշումներ են կայացնում գեյթվեյի/պոլիսի շարժիչը։
3) Տվյալները և սխեմաները. ռազմավարություն
Պահեստավորման տարբերակները
Shared-schema, row-level: աղյուսակների մեկ հավաքածու, «tenom _ id» դաշտը, խիստ RTS (Row-Level Services)։
Shared-DB, per-schema 'մեկ SUBD, առանձին սխեմա tenault; հավասարակշռություն կառավարման և մեկուսացման միջև։
Per-DB/cluster: առանձին BD/կլաստեր ստվերների վրա; ավելի թանկ, ավելի հեշտ ինքնիշխան պահանջների համար։
Հիմնական պրակտիկան
Ամենուր պարզ է փոխանցել «tenium _ id» և ներառել այն բաղադրիչների/ինդեքսների մեջ։
RSA/հասանելիության քաղաքականությունը SUBD + մակարդակում + ծառայողական վալիդացիան «կրկնակի կողպեքով»։
Կոդավորումը 'մրցույթի հիերարխիա (root KMS www.key-envelope tenronics DEK օբյեկտի վրա)։
Արխիվը/ռետենշնը և «մոռացման իրավունքը» կառավարվում են քաղաքական գործիչների կողմից վարձողի մակարդակում։
4) Մոսկվան, ֆիչին և տարբերակները
Կազմաձևը տենանտով
Ստանդարտ/պահեստ 'ten.ru _ 35' (պլան, քվոտաներ, ֆիչի դրոշներ, տեղայնացում, SLA)։
Ուլտրաձայնների առաջնահերթությունները 'դեֆոլտը ֆոսֆենտանտի պլանն է, որը շրջապատում է ռուսական օգտագործողը։
Կարճատև TTL-ով և հաշմանդամությամբ։
Ֆիչի դրոշը և համատեղելիությունը
Գործառույթների իրականացումը կետային է (per-ten.ru/per-coh.ru), կանարեեկային պեղումները։
API տարբերակումը 'կայուն պայմանագիր + հարմարվողներ սահմանին (back/forward-compatible)։
5) Լիմիտներ, քվոտաներ և բիլինգ
Սպառման քաղաքականությունը
Rate limiting: 'reques.ru/sec' per ten.ru/ro.ru, «token-bat» պլանների գերակայություններով։
Deltas: Վճարումների ծավալը, օբյեկտների քանակը, հաղորդագրությունները/րոպե, jobs/ժամ։
Fairness: «կշռված ստանդարտ» հերթերով + VIP-ի համար գողերի մեկուսացում։
Բիլինգը
Հաշվիչները '«tenrone _ id» (usage-metrics) են invois ագրեգատորները։
Usage-ի սարքավորումները սահմանին (idempotent և պաշտպանություն իրադարձությունների կորստից)։
Մոդելներ ՝ ֆիքսված պլան + consumption, post pey/pre-pey, tiered զեղչեր։
6) Անվտանգություն և հասանելիություն
Վավերացում/հեղինակային
OIDC/SAML-ը '«tenom _ id», «roles», «scopes» կլեյմերով։
RBAC/ABAC 'վարձողի մակարդակում դերերը (Owner/Admin/Reader), նախագծի/բաժնի ատրիբուտները։
Կիսագնդի հասանելիությունը (105-to-105) mTRK-ով և սահմանափակ հոսանքներով։
Վստահության սահմանները
Հարցումների ընդունման քաղաքականությունը 'վերնագրերի ստորագրման ստուգում, nonce/timestamp, կապված աղբյուրի հետ։
Գաղտնիքները և բանալիները 'per-ten.ru, առանձին KFC ենթատեքստեր, հիմնական վիրահատությունների աուդիտ։
Multi-region & wwww.residency: pinning tenment տարածաշրջանի համար, որը վերահսկվում է Քրոս-տարածաշրջանային հոսքերի կողմից։
7) «Վարձակալների» դիտարկումը
Հետքեր և չափումներ
Պարտադիր թեստեր ՝ «tenrone _ id», «plan», «region», «endpoint», «status»։
SLI/SLO per tenant: `availability`, `p95 latency`, `error budget`.
Dashbords և alerts հատվածներով (VIP/կարգավորելի/նոր)։
Լոգներն ու աուդիտը
Գործողությունների ամսագրերը (ով/ինչ/երբ/որտեղ) անփոփոխ պահեստավորման և վարձողի քաղաքականության մասին։
Իրադարձությունների առաջին ագրեգացիան էժան պահեստավորման համար, վերականգնումը «կլիկով»։
8) Արտադրողականություն և «disisy neighbor»
Anti-աղմկոտ միջոցներ
Limits/workers, CPU-shares և IO համամասնությունները per tenae։
Քեշի բաժանումը 'նախածննդյան բաները' <
Ինդեքսները և հարցումների պլանները, հաշվի առնելով ընտրողականությունը '«tenom _ id»։
Սառը մեկնարկները և «տաք» փամփուշտները
Առաջին տաքացումը VIP/պիկ պատուհանների համար։
Կողպեքների առաձգական փամփուշտները մետրի ազդանշանների վրա (backpressure/autskailing)։
9) Թարմացումներ և թարմացումներ առանց անցյալի
Ռազմավարություն
Backward-համատեղելի կոմպոզիցիաներ (expand www.migrate .ract)։
Կարդացեք «վարձկանների վրա» 'բախումներ առաջընթացի վերահսկման հետ, «դադար/ռեպատ» կոնկրետ «tenom _ id» -ի համար։
Սեմպիլացիան և «կանարեները» տեղադրված են վարձակալների ենթակայության վրա։
DR և միջադեպեր
DR պլանը RTO/RPO per tenae-ի հետ; մասնակի «read-only ռեժիմը» առանց գլոբալ dountaim։
Մրցույթի մեկուսացումը 'ֆյուզինգը' «tenom _ id», «տաք» վարձողի մարումը չի ազդում մյուսների վրա։
10) API և արձանագրություններ
REST/gRPC-ը վարձողի համապատասխան ենթատեքստով (կլեյմերում/վերնագրերում)։
Իրադարձությունները (event-driven) 'տեղանուններ' նեյմինգով 'tenae' id .event ', ֆիլտրեր և ACL-ի վրա։
Համաշխարհային մուտքի կետերը 'L7-դարպասը առաջնորդում է համատեքստը, օգտագործում է սահմաններ, կոդավորում է PII-ը տենբերի քաղաքականության վրա։
11) Վարձողի կյանքի ցիկլը
1. Պրովիզինինգը 'վարձողի ձայնագրման ստեղծում, միգրանտների/դելիգների արտադրություն, տարածաշրջանի կապում։
2. Ակտիվացում 'OIDC/SAML հաճախորդի արտադրություն, դերերի/քաղաքական, առաջնային քվոտաների ստեղծում։
3. Վիրահատություն ՝ 108, բիլինգ, դրոշների/պլանների նորարարություն։
4. Wind/trotling: սառեցում տվյալների/էքսպորտի պահպանմամբ։
5. Հեռացում/էքսպորտը 'retenshn, փակված bekaps, crypto-լվացք (crypto-shredding)։
12) Ճարտարապետության մինի-ստանդարտը (բանավոր սխեմա)
Edge (API-դարպաս): TMS/mTSA, ներարկումը 'tenrone _ id', limits, աուդիտ։
Prol Plane-ը վարձակալների, դելիգների, ֆիչի դրոշի, բիլինգի, քաղաքականության կատալոգն է։
Plane (ծառայություններ) 'stateless ծառայություններ, հերթեր, քվոտաներ։ Redis/kv 'tenantu նախածանցներով։
Storage: RMS-BD/առանձին սխեմաներ/BD; KFC-ը վարձակալողի վրա բեկորներով. օբյեկտի պահեստ 'envelope-ծածկագրիչով։
Observability: tresing/metrics/logs 'teg' tenom _ id ', alerta per plan։
Admin: մեկուսացված վիրահատություններ (105/bakaps) վարձողների ենթակայության վրա։
13) Ստուգման ցուցակը նախքան վաճառելը
- Սահմանին և ծառայություններում որոշելու միակ մեթոդը։
- RFC/ACL քաղաքական գործիչները ստուգված են թեստերով և «բացասական սցենարներով»։
- Quots/limits/bilings վալիդացվում են իրական բեռների վրա։ պաշտպանություն կա «բիլինգ-դրոպներից»։
- Դիտարկումը և SLO per tenae; ալերտներ VIP/լուծելի համար։
- Մոսկվան համատեղելի է, կա մասնակի արձագանք և պարենդատորային խաղեր։
- DR սցենարները RTO/RPO per tenae և ռուսական ուսուցումների հետ։
- API/իրադարձություններ և տարբերակման քաղաքականություն։
[Ծածկագրում «վարձողի բանալին», ռոտացիա և աուդիտ։
14) Տիպիկ սխալներ
Համաշխարհային ֆորումը «մեկ մահով» առանց հնարավոր է կանգնեցնել խնդրահարույց վարձակալողի վրա։
Թաքնված կախվածությունը «tenium _ id» -ից քեշի/հերթերի մեջ նշված է տվյալների արտահոսքը/հերթափոխի հատումը։
Ենթատեքստերի խառնուրդը (admin վիրահատություն պատահաբար առանց «tenom _ id»)։
«Կրկնակի ամրոցի» բացակայությունը 'միայն ծառայողական ստուգում առանց RBC-ի BD-ում։
Մեկ լիմիտեր ամբողջ կլաստերի վրա նշվում է «neighbor» և SLO խախտումը։
Անթույլատրելի բիլինգ առանց կուռքի և աուդիտ-թրեյլայի։
15) Ռազմավարության արագ ընտրություն
Խիստ մեկուսացում/108: Silo (առանձին BD/105), լոկի տարածք։
Հավասարակշռված արդյունավետություն 'Shared-DB per schema + RTS, per tenae բանալիներ։
Բարձր real-time time-ը 'ընդհանուր գծեր «կշռված» քվոտաների և VIP-ի համար ընտրված գողերի հետ։
Շատ կաստոմիզացիաներ ՝ ֆիչի դրոշներ + API ադապտերներ, առաջնահերթությունների վրա եզրերի պահպանումը։
Եզրակացություն
Multi-tenant միջուկը ինժեներական սահմանների կարգապահությունն է 'հստակ սահմանումը' «tenom _ id», խիստ մեկուսացումը բոլոր շերտերում, քվոտաները և թափանցիկ տոմսերը, գումարած ածխաջրածինների դիտարկումը և համատեղելիությունը։ Նկարագրված փամփուշտներին հետևելը թույլ է տալիս մեծացնել ապրանքը առանց անվտանգության զոհաբերելու, որակը և յուրաքանչյուր վարձողի համար փոփոխությունների արագությունը։