高可用

爱速搭自身是无状态服务,依赖 MySQL 及 Redis 服务,需要自行搭建高可用的 MySQL 及 Redis 集群。

建议使用 k8s 或 swarm 来部署爱速搭镜像容器,建议 5 个及以上实例,只要保证这些实例能正常运行,爱速搭就能正常运行。

目前爱速搭不限制示例数量,可以通过多开几个实例来提升性能,需要注意的瓶颈是 MySQL,可以使用 TiDB 来水平扩展。

另外爱速搭的应用目前支持「生成独立应用」(在应用开发的「发布应用」里),它生成的文件可以独立运行,不依赖平台,因此即便平台出故障也不会受到影响,并且性能更好,推荐对于性能及稳定性要求比较高的应用使用这个功能,但它目前还不支持数据模型及流程功能。

健康检查

爱速搭镜像内自带了健康检查及进程保活,如果需要进一步检查,可以使用 http 协议检查 8085 端口是否能返回内容,但需要注意爱速搭初始启动比较耗时,因此初始检查时间最好长点,比如 15 秒,类似下面的例子

  1. apiVersion: v1
  2. kind: Pod
  3. spec:
  4. containers:
  5. - name: aisuda
  6. image: registry.baidubce.com/aisuda/aisuda:1.3.9
  7. livenessProbe:
  8. httpGet:
  9. path: /
  10. port: 8085
  11. initialDelaySeconds: 15
  12. periodSeconds: 5

故障处理

爱速搭的故障主要是 MySQL 及 Redis 导致的。

MySQL 无法连接

表现为

  1. Opps 出错了
  2. Error: connect ECONNREFUSED ${ip}:${port}

Redis 无法连接

表现为

  1. Opps 出错了
  2. MaxRetriesPerRequestError: Reached the max retries per request limit (which is 20). Refer to "maxRetriesPerRequest" option for details.