Leum dhan t-susbaint

Ùrachadh gun ùine-dhìth

Ùraich Quire fèin-aoigheachd gun ùine-dhìth.

Seall mar Markdown

Tha na riaghailtean ann an earrann 7 de docs/architecture/23-ops.md agus ann an earrann 4.1 de docs/architecture/07-data.md. Seo am modh-obrach.

Am barantas a nì sàbhailte e

Bidh Tionndadh R ag obair ceart le sgeama R agus sgeama R às aonais aon. Tha gach atharrachadh sgeama air a roinn na leudachadh, eadar-ghluasad agus cùmhnant:

  1. Leudaich: cuir colbh, clàr no clàr-amais ùr ris. Leigidh an seann chòd seachad e.
  2. Eadar-ghluasad, airson co-dhiù aon tionndaidh: sgrìobhaidh an còd ùr an dà chumadh agus leughaidh e am fear ùr; lìonaidh obair ath-thòiseachadh seann shreathan air ais.
  3. Cùmhnant: leig às an t-seann chumadh ann an tionndadh às dèidh làimh, leis fhèin.

Mar sin, aig gach àm rè ùrachadh leantainneach, faodaidh seann phròiseasan is feadhainn ùra aon stòr-dàta a roinn. Chan eil imrich sìos ann: chan urrainn do dh’imrich a leig às colbh o chionn uair a thìde na sreathan a chaidh a sgrìobhadh san uair sin a thoirt air ais.

Nì obair CI schema-compat sgrùdadh air a’ bharantas gach tionndadh le bhith a’ ruith deuchainnean an tionndaidh roimhe an aghaidh an sgeama ùir.

Mus tòisich thu

  1. Leugh notaichean an tionndaidh. Innsidh tionndadh a dh’fheumas uinneag-càraidh dhut sin agus bheir e tuairmse; chan eil barrachd air aon dhiubh gach tionndadh.
  2. Ruith an deuchainn ath-nuadhachaidh, no dearbhaich gun do shoirbhich leatha airson an tionndaidh seo (backup-restore.md). Cuiridh deuchainn air fàilligeadh stad air an ùrachadh.
  3. Dèan cùl-taic bunaiteach: docker compose -f docker/compose.yaml --profile backup run --rm backup.

Docker Compose, aon aoigh

export QUIRE_RELEASE=2026.10.0            # or set it in docker/.env
docker compose -f docker/compose.yaml pull   # or build
docker compose -f docker/compose.yaml run --rm migrate
docker compose -f docker/compose.yaml up -d --no-deps web content collab
docker compose -f docker/compose.yaml up -d --no-deps worker scheduler

Tha an t-òrdugh seo a dh’aona ghnothach:

  1. Dèan imrich an toiseach, fhad ’s a tha an seann tionndadh a’ frithealadh iarrtasan. Chan fhaic an seann tionndadh imrich leudachaidh.
  2. An ath rud, ùraich an t-sreath-lìn. Air SIGTERM, cuiridh gach pròiseas-lìn /readyz gu draining, crìochnaichidh e iarrtasan a tha a’ dol taobh a-staigh 30 diog, dùinidh e sruthan le fios mu ath-cheangal agus sguiridh e. Tha stop_grace_period 40 diog gus nach cuir Compose stad air drèanadh fallain.
  3. Luchd-obrach mu dheireadh, gus an tèid cumadh tachartais as ùire a chruthachadh mus bi an neach-cleachdaidh as ùire an dùil ris. Sguiridh luchd-obrach de thogail obraichean anns a’ bhad agus gheibh iad 120 diog; thèid obair nach urrainn crìochnachadh a thogail a-rithist ann an àite eile, rud a tha sàbhailte oir tha gach obair idempotent. Bheir an clàradair ceannardas thairis air san ath thic.

Air aon aoigh, cuiridh Compose innealan an àite a chèile, aon aig aon àm, agus mar sin bidh beàrn goirid airson gach seirbheis. Gus beàrn sam bith a sheachnadh, ruith an t-sreath-lìn ann an dà shoitheach air cùl an neach-ionaid agad fhèin (faidhle tar-àithne a chuireas dàrna seirbheis-lìn ris gun phort foillsichte), agus cruthaich a-rithist iad aon aig aon àm, a’ feitheamh gus am bi gach fear fallain mus gluais thu chun ath fhear.

Iomadh aoigh no orchestrator

Cleachd an aon òrdugh: dèan imrich aon turas bho obair shingilte, an uair sin gluais an t-sreath-lìn le aon thar-bheairt agus neoni dhiubh gun chothrom, agus an uair sin an luchd-obrach. Targaid deuchainnean deisealachd gu /readyz agus deuchainnean beòthachd gu /healthz.

Le stòran-dàta luchd-gabhail sònraichte, nì an ceum migrate an dà chuid: nì e imrich air stòr-dàta smachd an toiseach, agus an uair sin air gach stòr-dàta ann an ops.tenant_database, aon aig aon àm le glas fhèin. Cha chuir fàilligeadh ann an aon stòr-dàta bacadh air càch. Nuair a bhios gach stòr-dàta deiseil, nì e coimeas eadar leabhraichean-imrich agus fàgaidh e le inbhe neo-neoni mura h-eil gach stòr-dàta air na h-aon imrichean ris an stòr-dàta smachd a chur an sàs; ainmichidh e gach fear a tha air dheireadh no air thoiseach. Cuiridh an aon àithne clàran na ciudha anns gach stòr-dàta cuideachd oir ithidh an neach-obrach obraichean luchd-gabhail pinnte sa bhunait anns an deach an sgrìobhadh.

bun apps/worker/src/migrate.ts   # what the Compose step runs
bun run db:migrate:all                            # the same, from a checkout

Ruigear gach stòr-dàta sònraichte tron ainm fon deach a chlàradh. Feumaidh stòr-dàta a chaidh a chlàradh mar env:QUIRE_DB_NORTHWIND_URL:

Caochladair Air a chleachdadh airson
QUIRE_DB_NORTHWIND_URL Dreuchd na h-aplacaid airson an t-sreath-lìn agus an neach-obrach
QUIRE_DB_NORTHWIND_URL_MIGRATOR Dreuchd imrich airson na h-àithne seo agus gluasadan
QUIRE_DB_NORTHWIND_URL_SUPERUSER Roghainneil: ruith bootstrap (dreuchdan, sgeamaichean, taicearan) a-rithist mus dèanar imrich

Thèid stòr-dàta clàraichte gun cheangal _MIGRATOR aithris mar fhàilligeadh, chan ann a sheachnadh. Faodar an t-sreath-lìn a chur an sàs nuair a bhios stòr-dàta an smachd deiseil. Bheir stòr-dàta neach-gabhail a tha uair air dheireadh rabhadh; às dèidh latha cuiridh e duilleag rabhaidh.

pgvector

Bho imrich 0264 tha corpas bunaitidh a’ cleachdadh clàr-amais HNSW pgvector ma tha an leudachan aig an fhrithealaiche; tha seirbheis Compose postgres air a togail leis (docker/postgres.Dockerfile). Cruthaichidh a’ chiad migrate an dèidh atharrachadh nan ìomhaighean an leudachan tro bootstrap an àrd-chleachdaiche; cuiridh 0264 colbh vector gineadh ris agus togidh e an clàr-amais. Ath-sgrìobhaidh cur ris a’ cholbh app.ai_chunk aon turas fo ghlas eisiach, agus mar sin feumaidh iarrtasan bunaitidh feitheamh; cha suath dad eile ris a’ chlàr sin.

Air frithealaiche gun pgvector, clàraichidh 0264 fios agus cha dèan e atharrachadh; bidh lorg ceart a’ leantainn. Le pgvector nas sine na 0.8, thèid colbh is clàr-amais a thogail ach cumaidh lorg ceart gus an tèid an leudachan ùrachadh (alter extension vector update), oir feumaidh sganaidhean HNSW le criathrag sganaidhean ath-aithriseach bho 0.8. Gus a chur air an dèidh sin air frithealaiche aig nach eil e, stàlaich an leudachan, ruith am bootstrap a-rithist (no create extension vector mar àrd-chleachdaiche), agus an uair sin mar quire_migrator:

set maintenance_work_mem = '1GB';  -- the HNSW build is much faster in memory
select ops.ai_chunk_enable_vector_index();

Tha e idempotent agus tillidh e enabled no unavailable. Ruith e air gach stòr-dàta neach-gabhail sònraichte cuideachd.

Till air ais

Tha tilleadh air ais còd an-còmhnaidh comasach: suidhich QUIRE_RELEASE chun taga roimhe agus ruith up -d a-rithist. Obraichidh seo a chionn ’s gu bheil an sgeama co-chòrdail gach taobh taobh a-staigh tionndaidh.

Chan eil tilleadh air ais sgeama ri fhaighinn. Na rudan nach gabh ath-dhèanamh agus mar a gheibh thu air ais iad:

Cha ghabh a thionndadh air ais Ath-nuadhachadh
Imrich cùmhnaint a leig às colbh Ath-nuadhaich gu àm mus deach a leigeil às ann an stòr-dàta ùr, thoir dàta a-mach agus co-aonaich
Atharrachadh dàta am broinn nan sreathan Dèan an aon rud agus an uair sin rèitich sgrìobhaidhean bhon uair sin
Webhooks is tachartasan a chaidh a chur Tachartasan dìolaidh, na sguab às idir
Post-d a chaidh a chur Bidh neach a’ sgrìobhadh na leanmhainn
Sreath-hais sgrùdaidh Na sgrìobh thairis oirre gu bràth; cuir inntrigeadh ceartachaidh ris

Sin an t-adhbhar a thèid imrich cùmhnaint a chur air leth: bidh crìoch ghlan aig ath-nuadhachadh an uair sin.

Thoir sùil air an ùrachadh

docker compose -f docker/compose.yaml ps           # every service healthy
curl -fsS http://localhost:8080/readyz             # ready, and what is configured
docker compose -f docker/compose.yaml logs migrate # the migrations applied
Seòladh

Sgrìobh airson lorg…

↑↓ gluais↵ taghEsc dùin