AiHummer
Беларуская
Увайсці
v1.0.x
{ }Swagger

Палітыка абнаўленняў

v1.0.x · абноўлена 2026-06-26

Стабільнасць — гэта прынцып прадукту, а не другаснае меркаванне. AiHummer прытрымліваецца SemVer, прымяняе бяспечныя для будучыні міграцыі базы даных аўтаматычна і можа самаабнаўляцца з CDN — таму абнаўленні з’яўляюцца руцінай, а не рызыкай.

Версіянаванне (SemVer)

Рэлізы прытрымліваюцца семантычнага версіянавання (Semantic Versioning). Версія паведамляецца праз /healthz і праз aihummer version, таму вы заўсёды можаце дакладна пацвердзіць, што менавіта запушчана, да і пасля абнаўлення.

Міграцыі бяспечныя для будучыні і аўтаматычныя

Пры запуску шлюз аўтаматычна прымяняе адкладзеныя міграцыі базы даных. Дзве ўласцівасці захоўваюць гэта бяспечным:

  • Бяспечныя для будучыні. Міграцыі напісаны так, што больш новы бінарнік працуе з схемай, у якую ён міграе, што і робіць аўтаматычнае прымяненне і паступовыя абнаўленні бяспечнымі.
  • Адзіны выканаўца праз advisory lock. Міграцыі выконваюцца пад PostgreSQL advisory lock, таму калі некалькі шлюзаў запускаюцца адначасова, толькі адзін прымяняе іх, а астатнія чакаюць — ніколі не бывае падвойнай міграцыі.

[!NOTE] Міграцыі заўсёды выконваюцца на пуле базы даных уладальніка. Абмежаваная роля RLS (AIHUMMER_DB_APP_URL) прызначана для абслугоўвання трафіку, а не для змены схемы.

Самаабнаўленне з CDN

Шлюз можа абнаўляць сябе з рэлізнага CDN. Паводзіны кіруюцца трыма зменнымі асяроддзя:

Variable Purpose
AIHUMMER_AUTO_UPDATE off | check | apply — адключана, толькі апавяшчэнне або аўтаматычнае прымяненне
AIHUMMER_UPDATE_CHANNEL Рэлізны канал для адсочвання (напр. stable / alfa / beta / dev)
AIHUMMER_DOWNLOAD_BASE_URL Базавы URL, з якога цягнецца абнаўленне

Абнаўленні выяўляюцца праз latest.json канала на CDN. Вы таксама можаце кіраваць абнаўленнямі ўручную праз CLI:

aihummer update --check   # report whether a newer version is available
aihummer update           # download and apply the update
# gateway.env — notify-only on the stable channel
AIHUMMER_AUTO_UPDATE=check
AIHUMMER_UPDATE_CHANNEL=stable

[!TIP] Пачніце з AIHUMMER_AUTO_UPDATE=check, каб атрымліваць апавяшчэнні аб новых рэлізах, і перайдзіце на apply, калі будзеце давяраць каналу для абнаўленняў без нагляду.

Разгортванне без прастою

AiHummer пабудаваны так, каб абнаўляцца без прастою:

  • Запускайце 2+ шлюзы за проксі. Абнаўляйце іх па адным; проба гатоўнасці (/readyz) трымае вузел, які перазапускаецца, па-за ратацыяй, пакуль ён не пачне абслугоўваць.
  • Планавальнік мае адзінага лідара. Фонавае планаванне выбірае адзінага лідара праз PostgreSQL advisory lock, таму запуск некалькіх шлюзаў не дублюе запланаваную працу.
  • Дастаўка ідэмпатэнтная. Outbox гарантаванай дастаўкі плюс ключы ідэмпатэнтнасці азначаюць, што адказ ніколі не адпраўляецца двойчы пры перазапуску, што і робіць бяспечным паступовае абнаўленне флоту.

Куды далей