GH GambleHub

Тенанттарды изоляциялоо жана лимиттер

Тенанттарды изоляциялоо жана лимиттер - бул көп тенанттык архитектуранын пайдубалы. Максаты: бир ижарачынын иш-аракеттери эч качан башка маалыматтарды, коопсуздук жана SLO таасир этпейт, ал эми ресурстар адилеттүү жана алдын ала бөлүштүрүлөт. Төмөндө - маалыматтардын деңгээлинен эсептөөлөрдү пландаштырууга жана инцидент-менеджментке чейинки практикалык чечимдер картасы.

1) коркунуч модели жана максаттары

Коркунучтар

Ижарачылардын ортосунда маалыматтардын ачыкка чыгышы (логикалык/кэш аркылуу/логиндер аркылуу).
"Noisy neighbor": улам бир кардардын жаркыраган өндүрүмдүүлүгүнүн начарлашы.
Артыкчылыктардын күчөшү (кирүү саясатында ката).
Биллинг-дрифт (пайдалануунун жана чегерүүлөрдүн дал келбегендиги).
Каскаддык ийгиликсиз жагдайлар (бир окуя көп downtime алып келет).

Максаттары

Маалыматтарды жана сырларды катуу изоляциялоо.
Пер-тенант лимиттери/квоталар жана адилеттүү пландаштыруу.
Ачык аудит, байкоо жана биллинг.
Инциденттерди локалдаштыруу жана per tenant тез калыбына келтирүү.

2) Обочолонуу деңгээл (толук модели)

1. Маалыматтар

'tenant _ id' ачкычтарында жана индекстеринде, Row-Level Security (RLS).
Шифрлөө: KMS иерархиясы → ижарачы ачкычы (KEK) → маалымат ачкычтары (DEK).
Жогорку талаптар менен өзүнчө схемалар/DD (Silo), натыйжалуулугу үчүн RLS менен жалпы кластер (Pool).
retenshna саясаты жана "унутуп укугу" per tenant, крипто-shredding ачкычтар.

2. Эсептөөлөр

CPU/RAM/IO квоталары, Тенант үчүн Worker пулдары, "салмактуу" кезектер.
Изоляция GC/heap (контейнерлер/орнотуулар JVM/Runtime), parallelism боюнча чектөөлөр.
Per-tenant autoscaling + backpressure.

3. Тармак

Сегментация: жеке endpoints/VPC, ACL 'tenant _ id'.
Чек арадагы Rate limiting жана per-tenant connection caps.
план/артыкчылык эске алуу менен DDoS/боттордон коргоо.

4. Операциялар жана процесстер

Аренда көчүрүү, backaps, DR, feature-flags.
Инциденттер - "микро-бласт радиусу": 'tenant _ id' боюнча фьюзинг.

3) Жеткиликтүүлүктү көзөмөлдөө жана ижарачынын контексти

AuthN: OIDC/SAML; токендер 'tenant _ id', 'org _ id', 'plan', 'scopes'.
AuthZ: RBAC/ABAC (ролу + долбоор атрибуттары, бөлүм, аймак).
Чек арадагы контекст: API-шлюз тенанттын контекстин чыгарат жана валидациялайт, лимиттер/квоталар менен толуктайт, соодага жазат.
"Кош кулпу" принциби: + RLS/DD саясатын текшерүү.

4) Маалыматтар: схемалар, кэш, логи

Схемалар:
  • Shared-схемасы (row-деңгээл): максималдуу натыйжалуулугу, катуу RLS милдеттүү.
  • Per-схема: изоляция/операциялык компромисс.
  • Per-DB/cluster (Silo): VIP/жөнгө үчүн.

Кэш: ачкыч префикстери 'tenant: {id}:...', пландары боюнча TTL, cache-stampede (lock/early refresh) коргоо.

Логи/метадеректер: PII толук псевдонимизациясы, 'tenant _ id' чыпкалары, ар кандай ижарачылардын логдорун "жабыштырууга" тыюу салуу.

5) Трафикти жана операцияларды чектөө

Негизги механика

Token Bucket: тегизделген жарылуулар, параметрлөө 'rate '/' burst'.
Leaky Bucket: throughput турукташтыруу.
Fixed Window/Sliding Window: жөнөкөй/так убакыт терезе боюнча квота.
Concurrency limits: caps бир эле учурда суроо-талап/jobs.

Кайда колдонуу керек

Чек арада (L7/API-шлюз) - негизги коргоо жана "тез баш тартуу".
Өзөктө (сервистерде/кезектерде) - экинчи контур жана "fair share" үчүн.

Саясат

Тенант/план/эндпойнт/операция түрү боюнча (коомдук API, оор экспорттор, башкаруу иш-аракеттер).
Priority-aware: VIP арбитраждык чоң 'burst' жана салмагын алат.
Idempotency-keys коопсуз retrains үчүн.

Үлгү профилдер (түшүнүктөр)

Starter: 50 req/s, burst 100, 2 параллелдүү экспорт.
Бизнес: 200 req/s, burst 400, 5 экспорт.
Enterprise/VIP: 1000 req/s, burst 2000, атайын аткаруучулар.

6) Квоталар жана адилеттүү пландаштыруу (fairness)

Ресурстар боюнча квоталар: сактоо, объектилер, билдирүүлөр/мин, тапшырмалар/саат, кезек өлчөмү.
Weighted Fair Queuing/Deficit Round Robin: "салмактуу" жалпы Workers жетүү.
Per-tenant worker pools: ызы-чуу/сын кардарлар үчүн катуу изоляция.
Admission control: квота бүткөндөн кийин аткарылбай/деградация.
Backoff + jitter: Splash синхрондоштуруу үчүн эмес, экспоненциалдык кечигүү.

7) байкоо жана биллинг per tenant

Милдеттүү tags: 'tenant _ id', 'plan', 'region', 'endpoint', 'status'.
SLI/SLO per tenant: p95/p99 latency, error rate, availability, utilization, saturation.
Usage-Metrics: CPU → агрегатор → инвойстар/байттар/секунддар боюнча эсептегичтер.
Демпотенттик биллинг: чек арадагы снапшоттор, кош эсептен чыгаруудан/окуяларды жоготуудан коргоо.
Dashbord сегменттери: VIP/жөнгө/жаңы ижарачылар.

8) Окуялар, деградация жана DR "ижарачылар боюнча"

Fusing 'tenant _ id' боюнча: өзгөчө өчүрүү/башка таасир жок белгилүү бир ижарачы Trottling.
Graceful Degradation: read-only режими, "Sandbox" кезек, кечигип тапшырмалар.
RTO/RPO per tenant: ар бир план үчүн калыбына келтирүү жана жоготуу максаттуу баалуулуктар.
көнүгүүлөр: үзгүлтүксүз "оюн күн" ызы-чуу ижарачы жана DR текшерүү өчүрүү менен.

9) Талаптарга жооп берүү (residency, купуялуулук)

Пиннинг регионго тенанта; кросс-аймактык агымдардын так эрежелери.
Ачкычтарга/маалыматтарга жетүү аудити, административдик операцияларды каттоо.
Retenship жана экспорттук маалыматтарды per tenant башкаруу.

10) Mini шилтеме: кантип бирге чогултуу

Суроо агымы

1. Edge (API-шлюз): TLS → алуу 'tenant _ id' → token валидациясы → rate/quotas колдонуу → сооданы коюу.
2. Полис кыймылдаткыч: контекстинде 'tenant _ id/plan/features' → маршрут жана лимиттер жөнүндө чечим.
3. Кызмат: Укуктарды текшерүү + 'tenant _ id' → RLS астындагы DD менен иштөө → префикс менен кэш.
4. Usage-чогултуу: эсептегичтер/байт → агрегатор → биллинг.

Маалыматтар

Стратегиянын схемасы/DD (row-level/per-schema/per-DB).
KMS: ижарачы ачкычтар, айлануу, алып салуу крипто-shredding.

Эсептөө

салмагы менен кезек, per tenant, concurrency боюнча caps.
Autoscaling per-tenant метриктер боюнча.

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) Азык-түлүктүн алдындагы чек-тизме

  • Бир чындык булагы 'tenant _ id'; бардык жерде ыргытылат жана логикалык.
  • RLS/ACL DB + тейлөө текшерүү (Double кулпу) боюнча камтылган.
  • per tenant шифрлөө ачкычтары, документтештирилген ротация/алып салуу (crypto-shredding).
  • Чек арадагы жана ичиндеги лимиттер/квоталар; сыналган жана "burst".
  • Fair-queuing жана/же VIP үчүн атайын аткаруучулар; caps на concurrency.
  • Per-Tenant SLO жана Алерт; сегменттер боюнча дашборддор.
  • Usage-жыйноо idempotenten; биллинг менен байланыш текшерилди.
  • DR/окуялар ижарачыга чейин локалдашкан; fusing 'tenant _ id' иштеп жатат.
  • Кэш/Логи ижарачыларга бөлүнгөн; PII жашырылган.
  • Миграция/backup/экспорт жол-жоболору - ижара боюнча.

13) типтүү каталар

RLS өчүрүлгөн/" кызматтык "колдонуучу тарабынан тосулган - агып кетүү коркунучу.
Бирдиктүү Global Limiter → "noisy neighbor" жана SLO бузуу.
Жалпы кэш/префикс жок кезек → маалыматтарды кесип.
Биллинг чокуларда жоголгон логдор боюнча эсептейт.
Ижарага алуучу фьюзингдин жоктугу - каскаддык түшүүлөр.
көйгөйлүү 'tenant _ id' бут мүмкүнчүлүгү жок "бир толкун" көчүрүү.

14) Тез тандоо стратегиясы

жөнгө/VIP: Silo-маалыматтар (per-DB), атайын Workers, катуу квота жана residency.
Массалык SaaS: Shared-схемасы + RLS, чек күчтүү чектери, ичинде fair-queuing.
Жүктөө "ызы-чуу/ургулоо": чоң 'burst' + катуу concurrency-caps, backpressure жана пландар боюнча артыкчылыктар.

Корутунду

Тенанттарды изоляциялоо жана лимиттер - бул чек аралар жана адилеттүүлүк жөнүндө. Так 'tenant _ id' аркылуу жип, RLS жана маалыматтарды шифрлөө, чек арадагы жана өзөктөгү лимитирлөө жана квоталар, адилеттүү пландоочу, байкоо жана инциденттерди локалдаштыруу - мунун баары чогуу ар бир ижарачы үчүн коопсуздукту, болжолдуу сапатты жана ачык-айкын биллингди берет, ал тургай платформанын агрессивдүү өсүшү менен.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.