Files
compose-anything/src/restate/README.zh.md
2025-11-03 20:16:08 +08:00

3.3 KiB
Raw Blame History

Restate 单节点服务器

Restate 是一个用于有状态服务的分布式工作流引擎,提供开箱即用的持久化执行、可靠消息传递和状态管理。

特性

  • 持久化执行:自动持久化执行状态并在失败时恢复
  • 可靠消息传递:内置消息传递保证
  • 状态管理:具有最小开销的强一致性状态
  • 服务发现:自动服务注册和发现
  • 管理 API:丰富的监控和管理服务 API

快速开始

  1. 复制环境变量文件:

    cp .env.example .env
    
  2. 启动服务:

    docker compose up -d
    
  3. 验证服务运行:

    curl http://localhost:9070/health
    

服务端点

  • Ingress APIhttp://localhost:8080 - 调用服务的主要 API
  • Admin APIhttp://localhost:9070 - 管理和监控 API
  • 节点通信:端口 5122内部

环境变量

变量 默认值 说明
RESTATE_VERSION 1.5.3 Restate 服务器版本
INGRESS_PORT_OVERRIDE 8080 Ingress API 端口
ADMIN_PORT_OVERRIDE 9070 Admin API 端口
NODE_PORT_OVERRIDE 5122 节点间通信端口
RESTATE_LOG_FILTER restate=info 日志级别trace/debug/info/warn/error
TZ UTC 时区

使用示例

部署服务

# 注册服务端点
curl -X POST http://localhost:9070/deployments \
  -H 'Content-Type: application/json' \
  -d '{"uri": "http://my-service:9080"}'

列出已部署的服务

curl http://localhost:9070/services

调用服务

curl -X POST http://localhost:8080/MyService/myMethod \
  -H 'Content-Type: application/json' \
  -d '{"key": "value"}'

数据持久化

Restate 数据存储在命名卷 restate_data 中。服务器使用节点名称 restate-1 以确保重启时的数据一致性。

要重置服务器并重新开始:

docker compose down -v

资源限制

  • CPU0.5-2.0 核心
  • 内存512MB-2GB

根据工作负载在 docker-compose.yaml 中调整这些限制。

监控

检查服务器健康状态:

curl http://localhost:9070/health

查看服务器指标Prometheus 格式):

curl http://localhost:9070/metrics

文档

许可证

此配置在项目许可证下提供。Restate 采用 Business Source License 1.1 许可。

注意事项

  • 对于生产部署,考虑使用 Restate 集群 以实现高可用性
  • 在生产环境中确保数据目录位于持久存储上
  • --node-name 参数确保重启时的一致数据恢复
  • 对于集群部署,请参见 restate-cluster 配置