Տենանտների և լիմիտների մեկուսացումը
Տենանտների և լիմիտների մեկուսացումը մուլտֆիլմ-տենանտային ճարտարապետության հիմքն է։ Նպատակը այն է, որ մեկ վարձողի գործողությունները երբեք չեն ազդել տվյալների, անվտանգության և SLO-ի վրա, իսկ ռեսուրսները տարածվեն արդար և կանխատեսելի։ Ներքևում լուծումների գործնական քարտեզն է տվյալների մակարդակից մինչև հաշվարկների պլանավորումը և կառավարումը։
1) Սպառնալիքների և նպատակների մոդել
Վտանգներ
Վարձողների միջև տվյալների արտահոսքը (տրամաբանական/քեշի/լոգայի միջոցով)։
«Disisy neighbor» 'արտադրողականության դեգրադացիան մեկ հաճախորդի աճի պատճառով։
Արտոնությունների էսկալացիա (մուտքի քաղաքականության սխալ)։
Բիլինգ-դրիֆթ (օգտագործման և հաշվարկների անհամապատասխանությունը)։
Կասկադային անկայուն սցենարները (մեկը հանգեցնում է շատերի դաունթայմի)։
Նպատակներ
Տվյալների և գաղտնիքների խիստ մեկուսացումը։
Ստանդարտ ստենանտային լիմիտներ/քվոտաներ և արդար պլանավորումը։
Թափանցիկ աուդիտը, դիտարկումը և բիլինգը։
Միգրացիայի տեղայնացումը և per tenae արագ վերականգնումը։
2) Մեկուսացման մակարդակները (մոդելի միջոցով)
1. Տվյալները
«tenrone _ id» բաների և ինդեքսների մեջ, Row-Level System (RFC)։
Կոդավորումը 'KFC-ի հիերարխիան նկարագրում է վարձողի բանալին (KEK) տվյալների բանալիները (DEK)։
Առանձնացված սխեմաները/BD բարձր պահանջներով (Silo), ընդհանուր կլաստեր RFC-ից արդյունավետության համար (Pool)։
Քաղաքական քաղաքական գործիչները և «մոռանալու իրավունքը» per ten.ru, crypto-shredding-ը։
2. Հաշվարկներ
CPU/RAM/IO-ի քվոտաները, ստվերների վրա գողերի պուլերը, «կշռված» գծերը։
GC/heap մեկուսացումը (JVM/Runtime), parallelism-ի սահմանները։
Ռուսական-տենանտ autoscaling + backpressure։
3. Ցանցը
Սեգմենտացիան 'private endpoin.ru/CSC, ACL' ten.ru _ id "։
Rate limiting և per-tenae connection caps սահմանին։
Պաշտպանությունը DDoS/բոտից, հաշվի առնելով պլանը/գերակայությունը։
4. Վիրահատություններ և գործընթացներ
Poarendator, bekaps, DR, feature-flags։
Միջադեպերը «միկրո-բլաստի շառավիղը» 'ֆյուզինգը' «tenrone _ id»։
3) Վարձողի հասանելիության և համատեքստում
AuthN: OIDC/SAML; «tenom _ id», «org _ id», «plan», «scopes»։
AuthZ: RBAC/ABAC (նախագծի + ատրիբուտների դերերը, հատվածը, տարածքը)։
Սահմանին համատեքստը 'API-նավը հանում և առաջնորդում է տենբերի համատեքստը, ավելացնում է սահմաններ/քվոտաներ, գրում է թրեյսներում։
«Կրկնակի ամրոցի» սկզբունքը 'ստուգում + RFC/BD քաղաքականության ծառայության մեջ։
4) Տվյալները ՝ սխեմաներ, քեշ, լոգներ
Սխեմաները
Shared-schema (row-level) 'առավելագույն արդյունավետությունը, խիստ RFC-ն պարտական է։
Per-schema 'մեկուսացման/վիրահատության փոխզիջում։
Per-DB/cluster (Silo) 'VIP/լուծվող համար։
Քեշը 'նախածանցները' www.d.id: ... ", TTL պլաններ, պաշտպանություն cache-stampede (www.k/early refresh)։
Լոգի/մետատվյալներ 'PII-ի ամբողջական կեղծանունացումը, ֆիլտրերը' «tenrone _ id», տարբեր վարձողների լոգարանների «սկլեյկի» արգելքը։
5) Միգրացիայի և գործողությունների սահմանումը
Հիմնական մեխանիկները
Token Bucket: գլամուրային աճը, direction 'rate '/' burst'։
Leaky Bucket: throughput-ի կայունացումը։
Fixed Express/Sliding Express: Պարզ/ճշգրիտ քվոտաներ ժամանակի պատուհանի վրա։
Concurrency limits: caps միաժամանակ հարցումների/ջոբայի համար։
Որտե՞ ղ օգտագործել
Սահմանին (L7/API-դարպաս) հիմնական պաշտպանությունն է և «արագ հրաժարումը»։
Սրտում (ծառայություններում/հերթերում) երկրորդ մրցույթի և «fox» համար։
Քաղաքականություն
Tenantu/plore/endpointu/տեսակի վիրահատություն (հանրային API, ծանր ալգորիթմներ, admin գործողություններ)։
Priority-a.ru: VIP-ն ավելի մեծ «burst» է ստանում և քաշը կիսագնդում է։
Idempotency-keys անվտանգ գետերի համար։
Մրցույթի օրինակը (հասկացություններ)
Starter: 50 req/s, burst 100, 2 զուգահեռ էքսպորտներ։
Business: 200 req/s, burst 400, 5 օրինագծեր։
Enterprise/VIP: 1000 req/s, burst 2000, ընտրված գողերը։
6) Քվոտաները և արդար պլանավորումը (fairness)
Ռեսուրսների քվոտաները 'պահեստ, օբյեկտներ, հաղորդագրություններ/րոպե, առաջադրանքներ/ժամ, հերթերի չափը։
Weighted Fox Queuing/Medicit Round Robin: «կշռված» հասանելիությունը ընդհանուր գողերին։
Per-tenault worker poo.ru: Կոշտ մեկուսացում աղմկոտ/քննադատական հաճախորդների համար։
Admission corl: հրաժարումը/քայքայումը մինչև քվոտաները սպառվում են։
Backoff + jitter: էքսպոնենցիալ ձգումներ, որպեսզի չհամապատասխանեն աճը։
7) Դիտողությունն ու բիլինգը per ten.ru
Պարտադիր թեստեր ՝ «tenrone _ id», «plan», «region», «endpoint», «status»։
SLI/SLO per tenant: p95/p99 latency, error rate, availability, utilization, saturation.
Usage-metrics: CPU-ի հաշվիչները/վայրկյանները։
Բիլինգի համադրելիությունը 'սահմանին գտնվող կեղտաջրերը, պաշտպանությունը երկակի դուրս գրվելուց/իրադարձությունների կորստից։
Dashbords հատվածներով 'VIP/տեղադրված/նոր վարձակալներ։
8) Միջադեպերը, դեգրադացիան և DR-ը «վարձակալների վրա»
Ֆյուզինգը 'tenium _ id': Պատահական վարձակալողի վթարային անջատումը/տրոտլինգը առանց մյուսների ազդեցության։
Graceful Degradation: read-only ռեժիմը, գծերը «ավազի» մեջ, հետաձգված առաջադրանքները։
RTO/RPO per tenae-ը 'յուրաքանչյուր պլանի համար վերականգնման և վերականգնման արժեքները։
Ուսուցումները 'wwww.game days-ը աղմկոտ վարձակալողի անջատմամբ և DR-ի ստուգմամբ։
9) Պահանջների համապատասխանությունը (residency, մասնավոր)
Pinning tenae-ը տարածաշրջանի մոտ; խաչաձև-տարածաշրջանային հոսքերի հստակ կանոնները։
Բաների/տվյալների հասանելիության աուդիտը, ադմինի վիրահատությունների ժապավենը։
Retenshne-ի կառավարումը և per ten.ru տվյալները։
10) Մինի-հանրաքվե 'ինչպես հավաքել միասին
Հարցման հոսք
1. Edge (API-դարպաս): TMS-ն խորհուրդ է տալիս հանել «tenrone _ id» - ը հոսանքի լիդիացիան նախատեսվում է օգտագործել rate/www.tas-ը։
2. Պոլիսի շարժիչը '«tenrone _ id/plan/features» ենթատեքստը բացատրում է երթուղիների և սահմանների լուծումը։
3. Ծառայությունը 'իրավունքների ստուգում + www.den.d.id "-ը բացատրում է RFC-ի տակ BD-ի հետ աշխատանքը նախածանցով։
4. Usage-հավաքումը 'վիրահատությունների/բայթերի հաշվիչները www.ru-ի ագրեգատորը։
Տվյալները
Սխեմա/BD ռազմավարության մասին (row-level/per-schema/per-DB)։
KFC 'վարձողի բանալիներ, նավարկություն, crypto-shredding հեռացման ժամանակ։
Հաշվարկներ
Քաշը, per ten.ru, caps concurrency։
Autoscaling-ը ֆենանտրիկ մետրիկներով։
11) Կեղծ քաղաքականության (կողմնորոշման համար)
yaml limits:
starter:
req_per_sec: 50 burst: 100 concurrency: 20 exports_parallel: 2 business:
req_per_sec: 200 burst: 400 concurrency: 100 exports_parallel: 5 enterprise:
req_per_sec: 1000 burst: 2000 concurrency: 500 exports_parallel: 20
quotas:
objects_max: { starter: 1_000_000, business: 20_000_000, enterprise: 100_000_000 }
storage_gb: { starter: 100, business: 1000, enterprise: 10000 }
12) Չեկ թուղթ մինչև վաճառելը
- Ճշմարտության միակ աղբյուրը 'tenium _ id'; ամենուր անիծվում է և տրամաբանվում։
- Ներառված է RFC/ACL մակարդակում BD + ծառայության ստուգում (կրկնակի ամրոց)։
- www.per ten.ru բանալիներ, փաստաթղթավորված է նավարկություն/հեռացում (crypto-shredding)։
- Լիմիտներ/քվոտաներ սահմանին և ներսում; փորձարկվեցին և «burst» -ը։
- Fox-queuing և/կամ ընտրված VIP-ի համար։ caps на concurrency.
- SLO-tenant և alerts; dashbords հատվածում։
- Usage-հավաքածու idempotenten; տոմսերի հետ խառնուրդը ստուգված է։
- DR/միջադեպերը տեղայնացվում են վարձողին. ֆյուզինգը «tenom _ id» աշխատում է։
- Kash/logs բաժանված են վարձակալների; PII-ը դիմակավորված է։
- Միգրացիայի/բեպապների/էքսպորտի ընթացակարգերը պարենդատորային են։
13) Տիպիկ սխալներ
RFC-ն անջատված է/շրջվել է «ծառայողական» օգտագործողի կողմից 'արտահոսքի վտանգը։
Միակ գլոբալ լիմիտերը բացատրում է «neighbor» և SLO խախտումը։
Ընդհանուր քեշները/հերթերը առանց նախածանցների բացատրում են տվյալների հատումը։
Բիլինգը կարծում է, որ նրանք կորցնում են խնջույքների ժամանակ։
Պերենդատորային ֆյուզինգի բացակայությունը կասկադային անկումներ են։
Կարդացեք «մեկ մահով» առանց խնդրահարույց «tenium _ id» -ի։
14) Ռազմավարության արագ ընտրություն
Ընտրված/VIP: Silo տվյալները (per-DB), ընտրված գողերը, խիստ քվոտաները և residency։
Զանգվածային SaaaS: Shared-schema + RTS, ուժեղ սահմաններ սահմանին, fox-queuing ներսում։
Մոսկվան «աղմուկ/իմպուլսացիա» է 'մեծ «burst» + կոշտ concurrency-caps, backpressure և պլանների գերակայություններ։
Եզրակացություն
Թենանտների և սահմանների մեկուսացումը սահմանների և արդարության մասին է։ Պարզ «tenium _ id» - ը հոսքերի, RFC-ի և տվյալների վրա կոդավորելու, սահմանափակում և քվոտաներ սահմանների և սրտերի վրա, արդար պլանավորողը, դիտարկումը և տեղայնացումը, այս ամենը միասին տալիս է անվտանգություն, կանխատեսելի որակ և թափանցիկ տոմս յուրաքանչյուր վարձողի համար, նույնիսկ պլատֆորմի ագրեսիվ աճի դեպքում։