Fonaments del desplegament
Aquesta guia explica com desplegar els daemons de lectura i escriptura d’Asset Core en un únic node amb emmagatzematge durable.
Requisits previs
- Binari nucli d’Asset Core (
cargo build --release) - Directori escriure per al registre de compromisos i punts de control
- Ports 8080 i 8081 disponibles (o alternatives)
Pas 1 - Preparar directoris
Creeu directoris per a l’estat persistent:
mkdir -p /var/lib/assetcore/{logs,checkpoints}
El registre de commits i els punts de control es desaran aquí.
Pas 2 - Configurar el daemon d’escriptura
Creeu un fitxer de configuració write.toml:
[server]
listen = "0.0.0.0:8080"
[commit_log]
path = "/var/lib/assetcore/logs/commit_log.log"
checkpoint_path = "/var/lib/assetcore/checkpoints/write.checkpoint.json"
flush_interval_ms = 100
[ingress]
queue_capacity = 1000
precheck_workers = 4
max_inflight_commits = 100
Configuracions clau:
| Configuració | Descripció |
|---|---|
listen | Adreça i port per vincular |
commit_log.path | On emmagatzemar el registre d’esdeveniments |
flush_interval_ms | Cada quant temps fer fsync (menor = més durable) |
precheck_workers | Treballadors de validació paral·lels |
Pas 3 - Configurar el daemon de lectura
Creeu un fitxer de configuració read.toml o utilitzeu arguments de línia de comandes:
[server]
listen = "0.0.0.0:8081"
[tail]
commit_log = "/var/lib/assetcore/logs/commit_log.log"
checkpoint = "/var/lib/assetcore/checkpoints/read.checkpoint.json"
poll_interval_ms = 10
El daemon de lectura ha de apuntar al mateix registre de confirmacions que el daemon d’escriptura.
Pas 4 - Iniciar el daemon d’escriptura
./target/release/assetcored-write --config write.toml
Verifiqueu que s’està executant:
curl http://localhost:8080/v1/health
Expected: {"status": "saludable", ...}
Pas 5 - Inicieu el daemon de lectura
./target/release/assetcored-read \
--listen 0.0.0.0:8081 \
--commit_log /var/lib/assetcore/logs/commit_log.log \
--checkpoint /var/lib/assetcore/checkpoints/read.checkpoint.json
Verifiqueu que s’està executant:
curl http://localhost:8081/v1/health
Pas 6 - Verificar de punta a punta
Envia un compromís de prova:
curl -X POST http://localhost:8080/v1/commit \
-H "Content-Type: application/json" \
-d '{
"operations": [
{"op": "CreateContainer", "args": {"container_id": 1, "kind": "Standard"}}
]
}'
Llegeix-ho de nou:
curl http://localhost:8081/v1/read/container/1
Resolució de problemes
”Adreça ja en ús”
Un altre procés està utilitzant el port. O bé atureu aquest procés o canvieu l’adreça de listen.
”Permís denegat” en el registre de commits
L’usuari que executa el daemon no té accés d’escriptura al directori. Comproveu la propietat:
chown -R assetcore:assetcore /var/lib/assetcore
El daemon de lectura mostra dades antigues
Comproveu el punt d’entrada de frescor:
curl http://localhost:8081/v1/read/freshness
Si checkpoint_seq està darrere de commit_log_seq, el daemon de lectura s’està posant al dia. Monitoreu la mètrica de retard.
Recuperació de fallades
Ambdós daemons es recuperen automàticament dels seus punts de control en reiniciar. No es necessita intervenció manual.
Properes passes
- Salut i Mètriques - Monitorització d’endpoint
- Referència CLI - Ús d’acctl per a operacions