AiHummer
Тоҷикӣ
ВоридшавӣКабинети шахсӣ
v1.1.x
{ }Swagger

Чандқабата ва идемпотентӣ

v1.1.x · навсозӣ шуд 2026-06-26

AiHummer ин аст чандфойдаЯк дарвоза метавонад якчанд фазои кориро аз як пойгоҳи дода таъмин кунад, дар ҳоле ки маълумоти онҳоро ҷудо нигоҳ медорад. Ду механизм инро бехатар мекунад — Амният дар сатҳи сатрҳои Postgres (RLS) барои изолятсияи хондан/навиштан, ва як қабати идемпотентӣ то ки кӯшишҳои дубора ва барқарор кардани гардиш ҳеҷ гоҳ таъсири воқеии берунаро такрор накунанд.

Сатҳ: Танзими амният дар сатҳи сатр барои изолятсияи бисёрсубҳагӣ тавассути обунаи пулакӣ маҳдуд карда шудааст Ширкат қабат — ҷузъи платформаи ройгон/Ҷамъиятӣ нест; қабати идемпотентӣ ҷузъи ядро мебошад.

Танҳоӣ кардани иҷоранишин бо амният дар сатҳи сатр

Танҳо дар коди барнома нест, балки ҷудоишавӣ дар пойгоҳи додаҳо ҷорӣ карда мешавад. AiHummer саволҳоро тавассути нақши маҳдудшудаи Postgres (aihummer_app) ки сиёсати RLS бар он татбиқ шудааст, бинобар ин худи пойгоҳи додаҳо сатрҳоро рад мекунад, ки ба иҷорагирони фаъол тааллуқ надоранд.

RLS аст ихтиёрӣ фаъол карданШумо онро бо тавассути додани як сатр пайвасти дуюм ба дарвоза барои нақши маҳдуд фаъол мекунед:

# gateway.env
# Owner pool — runs migrations and privileged maintenance
AIHUMMER_DATABASE_URL=postgres://aihummer:***@localhost:5432/aihummer?sslmode=disable
# Restricted role — activates RLS for normal request traffic
AIHUMMER_DB_APP_URL=postgres://aihummer_app:***@localhost:5432/aihummer?sslmode=disable

[!NOTE] Барои насбҳои маҳалли-иҷрокунанда насбкунанда таъин мекунад AIHUMMER_DB_APP_URL ҳамагӣ, бинобар ин RLS дар як насби стандартӣ пешфарз фаъол аст. Агар тағйирёбанда вуҷуд надорад, дарвозаи танҳо дар пули соҳиб кор мекунад ва RLS фаъол нест фаъол

Муайянкунии доираи барои ҳар иҷоранишин

Дар доираи нақши маҳдуд, ҳар дархост ба иҷоранишинандаи худ маҳдуд карда мешавад: дарвозаҳоя муайян мекунад ҳамагӣ контексти иҷорагиро дар пайвастшавӣ такмил медиҳад, то ки сиёсатҳои RLS бо ҷои кори дуруст ҳал шаванд. WHERE tenant_id = … Филтрҳо дар ҳама ҷо дастӣ печонида намешаванд; сиёсат инро ба таври марказӣ иҷро мекунад, ки маънои онро дорад, ки филтри нодида гирифташуда наметавонад сатрҳои иҷораништаи дигарро озод кунад.

Систем / режими убур

Бархе аз корҳои сохташуда воқеан байни иҷоранишинҳо амал мекунанд — коргарони пасзамина, мудирони ҷадвал ва вазифаҳои нигоҳдорӣ, ки дар тамоми намуна фаъолият мекунанд. Инҳо дар як система / режими убур то онҳо тавонанд он чизеро бинанд, ки лозим аст. Бипасс барои кормандони боэътимоди дохилӣ нигоҳ дошта шудааст, на барои роҳҳои идоракунии дархост.

[!WARNING] Муҳоҷираҳо ҳамеша дар чашмаи соҳибон идома мекунанд, ҳеҷ гоҳ дар нақши маҳдуд қарор нагирад. Пайвасти соҳиб ҳуқуқ дорад схемаро тағйир диҳад ва RLS-ро татбиқ намояд сиёсатҳо; нақши маҳдудӣ ба таври огоҳона намекунад. Ду пайвандро нигоҳ доред сатрҳои ҷудогона ва дода aihummer_app иқтидори танҳо он чизеро иҷро мекунад, ки зарур аст.

Таъсироти тарафҳои идемпотент

Як гардиш метавонад таъсироти воқеии ҷаҳонӣ дошта бошад: паёмерсонии мактуб, ирсоли паём ба канали дигар. Агар гардиш такрор карда шавад — ба сабаби хатоҳои муваққатӣ ё аз он сабаб, ки дар вақти гардиш дарвоза бозоғоз шуд ва барқарорсозӣ онро бозтакрор мекунад — он таъсироти канорӣ бояд не ду маротиба рӯй медиҳад. AiHummer инро бо ду қисмати ҳамкор кафолат медиҳад.

Калиди рӯйхати мустаҳками реҷаи кор

Ҳар як таъсири манфӣ бар зидди калиди рӯйдоди устувори сабтКалиде, ки ба таври детерминистӣ аз гардиш гирифта мешавад, бинобар ин такрори ҳамон гардиш калиди ҳамон ҳисобшударо ҳисоб мекунад, на калиди нав. Ёддошт мефаҳмад, ки кадом калидҳо аллакай истифода шудаанд.

Монеаи таъсири паҳншуда

Пеш аз таъсир чун сомона ё фарёд додан ба канал ин иҷро мешавад, он тавассути як монеаи таъсири ҳалқавӣ ки китоби ҳисобро месанҷад. Агар ин калид аллакай фаъол шуда бошад, монеа хати кӯтоҳ мекунад ва таъсир гузаронида намешавад; агар не, таъсир иҷро мешавад ва калид иҷро карда мешавад.

side-effect requested
   └─▶ compute resume-stable ledger key
         └─▶ barrier: key already committed?
               ├─ yes ─▶ skip (no double-send)
               └─ no  ─▶ perform effect ─▶ commit key

Натиҷа ин аст рафтори беруна дақиқ як маротиба, гарчанде ки расонидан дар дохил ҳадди ақал як маротиба астТакрорҳо аз нуқтаи назари сохторӣ бехатар мебошанд, ки ҳамин аст, ки имкон медиҳад барқарорсозии гардиш (нигаред Расонидани боэътимод ва барқарорсозӣ) бозӣ кардани навбате, ки қатъ шудааст, бе он ки муштарӣ ҳамон паёми электронӣ ё ҳамон посухро ду бор қабул кунад.

[!TIP] Ин аст сабаби он ки AiHummer метавонад таҳвили кафолатнок ва барқароркунии худкорро пешниҳод кунад бидуни хатарҳои маъмулӣ барои паёмҳои такрорӣ — идемпотентӣ асос мебошад заминаи кафолатҳои таҳвил мебошад

Баъд ба куҷо