docs: describe resilient development and telemetry

Document queued rebuilds and artifact-preserving deployment retries for wasmeld dev.

Describe asynchronous invocation telemetry, its durability boundary, graceful flushing, and the default Wasmtime compilation cache location.
This commit is contained in:
Maofeng
2026-07-30 07:18:36 +08:00
parent 0f0effb3c3
commit b304b038a4
3 changed files with 12 additions and 1 deletions
+7
View File
@@ -17,10 +17,17 @@ Wasm 制品保存在本地文件系统。服务 manifest、调用计数和最近
Host KV 使用 `(service_id, key)` 复合主键存储在该数据库中:同一服务的 Revision
共享数据,不同服务互相隔离,Runtime 或 Console 重启不会清空 KV。
调用计数、错误数、延迟和调用事件通过容量受限的异步队列批量写入数据库,Gateway
响应不等待 libSQL。队列不可用或进程异常退出时,尚未写入的遥测可能丢失,但不会把
已经成功的 Component 调用改写成失败。注册、Deployment 和生命周期变更仍在响应前
完成持久化。
`wasmeld-console` 启动时会在同一进程内创建 `wasmeld-runtime`、加载 Wasmtime Engine
并重新注册已保存的 Component。Runtime 停止后 Console HTTP 和数据库仍然在线;
再次启动 Runtime 会重新注册 Component。未部署的版本恢复为 `stopped`Deployment
指向的版本会用空初始化配置创建新的 Actor。Actor 的 Store 和线性内存不做快照。
编译后的本地机器码默认缓存在 `var/wasmeld/component-cache`,相同 Component 在
Console 或 Runtime 重启后可由 Wasmtime 直接复用;缓存不包含 Actor 内存。
## 启动
+3
View File
@@ -80,6 +80,9 @@ cargo +stable run -p wasmeld-package --bin wasmeld -- \
默认服务 ID 为 `<id>-dev`Revision 为 `<version>-dev.h<component-hash>`。正式服务不会
被覆盖。构建、校验或启动失败时不会切换 Deployment,上一版本继续提供服务。
编译过程中再次保存源码会在当前构建结束后立即触发下一轮构建。若 Component 已构建
成功但 Console 暂时不可用,开发循环会保留该 `.wasmpkg` 并重试部署,不会等待新的
源码变化,也不会为每次重试重复编译。
管理面默认每 5 秒刷新一次,也可以直接调用开发服务: