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:
@@ -68,7 +68,8 @@ cargo run -p wasmeld-package --bin wasmeld -- \
|
|||||||
首次构建和每次源码变化都会自动完成 WIT 同步、Debug 编译、打包、注册和 Deployment
|
首次构建和每次源码变化都会自动完成 WIT 同步、Debug 编译、打包、注册和 Deployment
|
||||||
切换。默认使用 `echo-dev` 这类独立服务 ID,并根据 Component 内容生成
|
切换。默认使用 `echo-dev` 这类独立服务 ID,并根据 Component 内容生成
|
||||||
`0.1.0-dev.h<hash>` Revision,不会覆盖正式服务。新版本构建、校验或启动失败时,上一
|
`0.1.0-dev.h<hash>` Revision,不会覆盖正式服务。新版本构建、校验或启动失败时,上一
|
||||||
版本继续运行;切换成功后旧开发 Revision 会被注销并释放。
|
版本继续运行;切换成功后旧开发 Revision 会被注销并释放。编译期间的新保存会继续
|
||||||
|
排队构建,Console 暂时不可用时则复用已构建制品重试部署。
|
||||||
|
|
||||||
管理面每 5 秒刷新一次,可以直接在调用面板预览新版本。只构建并部署一次可使用
|
管理面每 5 秒刷新一次,可以直接在调用面板预览新版本。只构建并部署一次可使用
|
||||||
`--once`;其它选项包括 `--id`、`--console`、`--release` 和 `--poll-ms`。管理 API
|
`--once`;其它选项包括 `--id`、`--console`、`--release` 和 `--poll-ms`。管理 API
|
||||||
|
|||||||
@@ -17,10 +17,17 @@ Wasm 制品保存在本地文件系统。服务 manifest、调用计数和最近
|
|||||||
Host KV 使用 `(service_id, key)` 复合主键存储在该数据库中:同一服务的 Revision
|
Host KV 使用 `(service_id, key)` 复合主键存储在该数据库中:同一服务的 Revision
|
||||||
共享数据,不同服务互相隔离,Runtime 或 Console 重启不会清空 KV。
|
共享数据,不同服务互相隔离,Runtime 或 Console 重启不会清空 KV。
|
||||||
|
|
||||||
|
调用计数、错误数、延迟和调用事件通过容量受限的异步队列批量写入数据库,Gateway
|
||||||
|
响应不等待 libSQL。队列不可用或进程异常退出时,尚未写入的遥测可能丢失,但不会把
|
||||||
|
已经成功的 Component 调用改写成失败。注册、Deployment 和生命周期变更仍在响应前
|
||||||
|
完成持久化。
|
||||||
|
|
||||||
`wasmeld-console` 启动时会在同一进程内创建 `wasmeld-runtime`、加载 Wasmtime Engine,
|
`wasmeld-console` 启动时会在同一进程内创建 `wasmeld-runtime`、加载 Wasmtime Engine,
|
||||||
并重新注册已保存的 Component。Runtime 停止后 Console HTTP 和数据库仍然在线;
|
并重新注册已保存的 Component。Runtime 停止后 Console HTTP 和数据库仍然在线;
|
||||||
再次启动 Runtime 会重新注册 Component。未部署的版本恢复为 `stopped`;Deployment
|
再次启动 Runtime 会重新注册 Component。未部署的版本恢复为 `stopped`;Deployment
|
||||||
指向的版本会用空初始化配置创建新的 Actor。Actor 的 Store 和线性内存不做快照。
|
指向的版本会用空初始化配置创建新的 Actor。Actor 的 Store 和线性内存不做快照。
|
||||||
|
编译后的本地机器码默认缓存在 `var/wasmeld/component-cache`,相同 Component 在
|
||||||
|
Console 或 Runtime 重启后可由 Wasmtime 直接复用;缓存不包含 Actor 内存。
|
||||||
|
|
||||||
## 启动
|
## 启动
|
||||||
|
|
||||||
|
|||||||
@@ -80,6 +80,9 @@ cargo +stable run -p wasmeld-package --bin wasmeld -- \
|
|||||||
|
|
||||||
默认服务 ID 为 `<id>-dev`,Revision 为 `<version>-dev.h<component-hash>`。正式服务不会
|
默认服务 ID 为 `<id>-dev`,Revision 为 `<version>-dev.h<component-hash>`。正式服务不会
|
||||||
被覆盖。构建、校验或启动失败时不会切换 Deployment,上一版本继续提供服务。
|
被覆盖。构建、校验或启动失败时不会切换 Deployment,上一版本继续提供服务。
|
||||||
|
编译过程中再次保存源码会在当前构建结束后立即触发下一轮构建。若 Component 已构建
|
||||||
|
成功但 Console 暂时不可用,开发循环会保留该 `.wasmpkg` 并重试部署,不会等待新的
|
||||||
|
源码变化,也不会为每次重试重复编译。
|
||||||
|
|
||||||
管理面默认每 5 秒刷新一次,也可以直接调用开发服务:
|
管理面默认每 5 秒刷新一次,也可以直接调用开发服务:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user