logo

高可用部署

同个服务多开几个实例,请求自动分流,单点宕机也不中断

PanPan
高可用部署

我们很高兴地宣布,Zeabur 现已支持高可用部署(High Availability)。只要把实例数量调高,同一个服务就会同时跑好几份,请求进来时自动分流——单个实例宕机也不会中断服务。

高可用是什么?

简单来说,高可用就是让同一个服务同时多开好几个实例(instance)。请求进来时,Zeabur 会自动把它分配到其中一个实例上处理。

用户请求Zeabur自动分流实例 1 · 正常实例 2 · 正常实例 3 · 宕机

实例 3 宕机时,Zeabur 会自动把流量改送到实例 1、2,服务不中断。

这样做有两个明显的好处:

  • 单点故障不再中断服务:某个实例宕机时,其他实例会立刻顶替,用户几乎无感。
  • 负载更均衡:请求平均分散到每个实例,不会出现单个实例被打爆、其他却闲着的情况。

如何使用?

1. 调整 Replicas 数量

在服务设置中把 Replicas(实例数量) 调到 2 以上,Zeabur 就会自动多开对应数量的实例并开始分流。

设置 Replicas 数量

2. 查看每个 Pod 的状态

在 Zeabur Dashboard 上,你可以看到每一个 Pod(实例)的实时状态,掌握它们是否都正常运行。

每个 Pod 的状态

3. 验证请求被分散到不同实例

连续打几次 API,会发现请求被分配到不同的实例上处理——这正是负载均衡在运作的证据。

bash
$ curl https://your-service.zeabur.app/
I'm service-6a3ca3e3b0b8a7a4b0863e66-7fd4658d88-2mk9t!
 
$ curl https://your-service.zeabur.app/
I'm service-6a3ca3e3b0b8a7a4b0863e66-7fd4658d88-jwhnx!
 
$ curl https://your-service.zeabur.app/
I'm service-6a3ca3e3b0b8a7a4b0863e66-7fd4658d88-2mk9t!
 
$ curl https://your-service.zeabur.app/
I'm service-6a3ca3e3b0b8a7a4b0863e66-7fd4658d88-64sw5!

每次响应来自不同的 Pod 名称,代表请求确实被分散到不同实例上。

接下来的计划

目前 TerminalFiles 还无法指定要连接到哪一个 Pod。我们近期会继续完善,让你能精准连到指定的实例做调试与检查。

如果你很期待这个功能,欢迎到 Zeabur Support 的 Roadmap 上帮我们 +1!你的反馈会直接影响我们的开发排序。

有任何问题,也欢迎随时到 Zeabur Support 找我们聊聊。