Yangilash siyosati
Barqarorlik mahsulot printsipi bo‘lib, keyinchalik o‘ylangan narsa emas. AiHummer shuni kuzatadi SemVer, tatbiq etiladi oldinga xavfsiz ma’lumotlar bazasi migratsiyalari avtomatik tarzda, va mumkin o‘zi yangilash CDN orqali — shuning uchun yangilanishlar xavfli emas, odatiy hol hisoblanadi.
Versiyalash (SemVer)
Chiqarilishlar Semantik Versiyalashni kuzatadi. Versiya quyidagicha xabar qilinadi /healthz va tomonidan aihummer version, shuning uchun har doim yangilashdan oldin va keyin nima ishlayotganini aniq tasdiqlashingiz mumkin.
Migratsiyalar oldinga xavfsiz va avtomatikdir
Ishga tushganda, shlyuz avtomatik ravishda kutayotgan maʼlumotlar bazasi migratsiyalarini qo‘llaydi. Bu xavfsizligini taʼminlaydigan ikki xususiyat mavjud:
- Oldinga xavfsiz. Migratsiyalar shunday yoziladi-ki, yangiroq binar ular bilan ishlay oladi u ko’chib o’tadigan sxema, bu avtomatik qo’llash va bosqichma-bosqich yangilanishni xavfsiz qiladigan narsa.
- Maslahat qulfi orqali yagona qo‘llovchi. Migratsiyalar ostida ishlaydi PostgreSQL maslahat qulfi, shuning uchun bir nechta eshiklar bir vaqtning o’zida boshlaganda faqat bittasi ularni qo’llaydi va qolganlari kutadi — hech qachon ikki marta ko‘chish bo‘lmaydi.
[!NOTE] Ko’chirishlar har doim egasining ma’lumotlar bazasi havzasida ishlaydi. Cheklangan RLS roli (
AIHUMMER_DB_APP_URL) trafikni xizmat qilish uchun mo‘ljallangan, sxema o‘zgarishlari uchun emas.
Yangilash
Yangi versiyalar yetkazib beruvchining nashr CDN’idan olinadi. Yangilashning odatiy yo‘li — serverdagi bitta buyruq:
aihummer update --check # faqat yangiroq versiya bor-yo‘qligini xabar qiladi
aihummer update # yuklab oladi va qo‘llaydi
--check hech narsani o‘zgartirmaydi va shu sababli root talab qilmaydi.
Qo‘llashning o‘zi o‘rnatish ildizini almashtiradi va xizmatni qayta ishga
tushiradi, shuning uchun u sudo bilan bajariladi.
Kutilgan natija: --check joriy va mavjud versiyani chiqaradi va hech
narsani o‘zgartirmay tugaydi. aihummer update artefaktni yuklab oladi, uning
sha256 nazorat yig‘indisi va cosign imzosini tekshiradi, ikkilik faylni
almashtiradi va xizmatni qayta ishga tushiradi — shundan so‘ng
aihummer version yangi versiyani ko‘rsatadi. Agar tekshiruv mos kelmasa,
yangilash fayl almashtirilishidan oldin to‘xtatiladi: ishlab turgan versiya
tegilmay qoladi.
[!NOTE] Avtomatik yangilashni yetkazib beruvchi yoqadi, siz emas. Avtomatik yangilash rejimi va jadvali nashrga xizmat ko‘rsatish tarkibiga kiradi va yetkazib beruvchining imzolangan ko‘rsatmasi bilan belgilanadi. Ular uchun na veb-interfeysda, na
aihummer settingsichida kalit bor;gateway.envfayliga yozilgan avtomatik yangilash o‘zgaruvchilarini shlyuz o‘qimaydi — agar ularni o‘sha yerda ko‘rsangiz, ular hech narsaga ta’sir qilmaydi. O‘z jadvalingiz bo‘yicha yangilash uchun yuqoridagiaihummer updatebuyrug‘idan foydalaning.
Orqaga qaytarish
Nima alohida-alohida orqaga qaytariladi:
- Ikkilik fayl — oldingi versiyaga qaytarish mumkin (oldingi nashrlarning artefaktlari CDN’da qoladi; kerakli versiyani qayta o‘rnating).
- Ma’lumotlar bazasi sxemasi — migratsiyalar oldinga xavfsiz, shuning uchun oldingi ikkilik fayl yangi sxema bilan ishlaydi; sxemaning alohida orqaga qaytarilishi yo‘q.
- Plaginlar — versiyalar har bir o‘rnatish uchun alohida boshqariladi; kerak bo‘lsa plaginning oldingi versiyasini katalogdan qaytaring.
- Sozlamalar — yangilashda o‘zgarmaydi; kerak bo‘lsa zaxira nusxadan tiklanadi.
Nol to‘xtash vaqti bilan ishga tushirishlar
AiHummer o’chirilishsiz yangilanish uchun yaratilgan:
- 2+ shlyuzlarni proksi ortida ishga tushiring. Ularni birma-bir g’altaklang; tayyorlik probe
(
/readyz) qayta ishga tushayotgan tugunni foydalanishga tushguncha aylanishdan chiqarib turadi. - Rejalashtiruvchi yagona rahbari bor. Fon rejalashtirish yagona liderni saylaydi PostgreSQL maslahat qulfi orqali, shuning uchun bir nechta shlyuzlarni ishlatish takrorlanmaydi rejalashtirilgan ish.
- Yetkazib berish idempotentdir. Ishonchli yetkazib berish va idempotentlik kalitlari degani javob hech qachon qayta ishga tushirilgandan keyin ikki marta yuborilmaydi, aynan shuni qiladigan narsa aylantirishdir eshiklaringiz bo‘ylab xavfsiz qayta ishga tushirish.
Keyingi qayerga
- Aylanadigan qayta ishga tushirishni nazorat qiluvchi probalar: systemd va salomatlik tekshiruvlari.
- Katta yangilashdan oldin zaxira nusxasini oling: Zaxira nusxalari va ofatlardan tiklash.
- Yayilishini tomosha qiling: Kuzatiluvchanlik.