Туруктуулук — кошумча эмес, продукттук принцип. AiHummer SemVer’ди
ээрчийт, алдыга-коопсуз маалымат базасынын миграцияларын автоматтык
колдонот жана CDN’ден өзүн-өзү жаңырта алат — ошондуктан жаңыртуулар
кооптуу эмес, кадимки нерсе.
Версиялоо (SemVer)
Релиздер Семантикалык Версиялоону ээрчийт. Версия /healthz жана
aihummer version тарабынан кабарланат, ошондуктан сиз жаңыртуудан мурун жана
кийин эмне иштеп жатканын ар дайым тактай аласыз.
Миграциялар алдыга-коопсуз жана автоматтык
Иштеп баштаганда шлюз күтүлүп жаткан маалымат базасынын миграцияларын автоматтык
колдонот. Эки касиет муну коопсуз кылат:
Алдыга-коопсуз. Миграциялар жаңыраак бинар ал миграциялаган схема менен
иштей тургандай жазылган, бул авто-колдонууну жана үзгүлтүксүз жаңыртууларды
коопсуз кылат.
Advisory кулпусу аркылуу жалгыз колдонуучу. Миграциялар PostgreSQL
advisory кулпусу астында иштейт, ошондуктан бир нече шлюз бир убакта иштеп
баштаганда алардын бирөө гана колдонот, калгандары күтөт — эч качан кош
миграция болбойт.
[!NOTE]
Миграциялар ар дайым ээ маалымат базасынын пулунда иштейт. Чектелген RLS ролу
(AIHUMMER_DB_APP_URL) трафикке кызмат кылуу үчүн, схеманы өзгөртүү үчүн эмес.
CDN’ден өзүн-өзү жаңыртуу
Шлюз релиз CDN’инен өзүн-өзү жаңырта алат. Жүрүм-турум үч чөйрө өзгөрмөсү менен
башкарылат:
Өзгөрмө
Максаты
AIHUMMER_AUTO_UPDATE
off | check | apply — өчүрүлгөн, кабарлоо-гана же авто-колдонуу
Жаңыртуулар каналдын CDN’деги latest.json аркылуу табылат. Сиз ошондой эле
жаңыртууларды CLI менен кол менен башкара аласыз:
aihummer update --check # report whether a newer version is availableaihummer update # download and apply the update
# gateway.env — notify-only on the stable channelAIHUMMER_AUTO_UPDATE=checkAIHUMMER_UPDATE_CHANNEL=stable
[!TIP]
Жаңы релиздер жөнүндө кабарланышы үчүн AIHUMMER_AUTO_UPDATE=check менен
баштаңыз жана каналга кароосуз таркатуулар үчүн ишенгениңизден кийин apply’га
өтүңүз.
Үзгүлтүксүз таркатуулар
AiHummer үзгүлтүксүз жаңыртуу үчүн курулган:
Прокси артында 2+ шлюз иштетиңиз. Аларды бирден таркатыңыз; даярдык
текшергичи (/readyz) кайра иштеп жаткан түйүндү ал кызмат кылмайынча
ротациядан тышкары кармайт.
Пландаштыргыч жалгыз-лидер. Фондук пландаштыруу PostgreSQL advisory
кулпусу аркылуу бир лидерди шайлайт, ошондуктан бир нече шлюз иштетүү
пландаштырылган ишти кайталабайт.
Жеткирүү идемпотенттүү. Кепилденген жеткирүү outbox’у плюс идемпотенттик
ачкычтар жооп кайра иштетүү учурунда эки жолу жөнөтүлбөшүн камсыздайт, бул
флотту таркатууну коопсуз кылат.
Туруктуулук — кошумча эмес, продукттук принцип. AiHummer **SemVer**'ди
ээрчийт, **алдыга-коопсуз маалымат базасынын миграцияларын автоматтык
колдонот** жана CDN'ден **өзүн-өзү жаңырта** алат — ошондуктан жаңыртуулар
кооптуу эмес, кадимки нерсе.
## Версиялоо (SemVer)
Релиздер Семантикалык Версиялоону ээрчийт. Версия `/healthz` жана
`aihummer version` тарабынан кабарланат, ошондуктан сиз жаңыртуудан мурун жана
кийин эмне иштеп жатканын ар дайым тактай аласыз.
## Миграциялар алдыга-коопсуз жана автоматтык
Иштеп баштаганда шлюз күтүлүп жаткан маалымат базасынын миграцияларын автоматтык
колдонот. Эки касиет муну коопсуз кылат:
- **Алдыга-коопсуз.** Миграциялар жаңыраак бинар ал миграциялаган схема менен
иштей тургандай жазылган, бул авто-колдонууну жана үзгүлтүксүз жаңыртууларды
коопсуз кылат.
- **Advisory кулпусу аркылуу жалгыз колдонуучу.** Миграциялар **PostgreSQL
advisory кулпусу** астында иштейт, ошондуктан бир нече шлюз бир убакта иштеп
баштаганда алардын бирөө гана колдонот, калгандары күтөт — эч качан кош
миграция болбойт.
> [!NOTE]
> Миграциялар ар дайым ээ маалымат базасынын пулунда иштейт. Чектелген RLS ролу
> (`AIHUMMER_DB_APP_URL`) трафикке кызмат кылуу үчүн, схеманы өзгөртүү үчүн эмес.
## CDN'ден өзүн-өзү жаңыртуу
Шлюз релиз CDN'инен өзүн-өзү жаңырта алат. Жүрүм-турум үч чөйрө өзгөрмөсү менен
башкарылат:
| Өзгөрмө | Максаты |
|---|---|
| `AIHUMMER_AUTO_UPDATE` | `off` \| `check` \| `apply` — өчүрүлгөн, кабарлоо-гана же авто-колдонуу |
| `AIHUMMER_UPDATE_CHANNEL` | Көзөмөлдөнө турган релиз каналы (мис. stable / alfa / beta / dev) |
| `AIHUMMER_DOWNLOAD_BASE_URL` | Жаңыртуу тартылган негизги URL |
Жаңыртуулар каналдын CDN'деги `latest.json` аркылуу табылат. Сиз ошондой эле
жаңыртууларды CLI менен кол менен башкара аласыз:
```bash
aihummer update --check # report whether a newer version is available
aihummer update # download and apply the update
```
```ini
# 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
кулпусу аркылуу бир лидерди шайлайт, ошондуктан бир нече шлюз иштетүү
пландаштырылган ишти кайталабайт.
- **Жеткирүү идемпотенттүү.** Кепилденген жеткирүү outbox'у плюс идемпотенттик
ачкычтар жооп кайра иштетүү учурунда эки жолу жөнөтүлбөшүн камсыздайт, бул
флотту таркатууну коопсуз кылат.
## Кийинки кадам кайда
- Үзгүлтүксүз кайра иштетүүнү башкарган текшергичтер:
[systemd жана ден соолук текшерүүлөрү](/ky/v1.0/operations/systemd-health).
- Чоң жаңыртуудан мурун камдаңыз:
[Камдык көчүрмөлөр жана кырсыктан калыбына келтирүү](/ky/v1.0/operations/backups-dr).
- Таркатууну көзөмөлдөңүз:
[Байкоо мүмкүнчүлүгү](/ky/v1.0/operations/observability).