运维及故障处理
高可用
爱速搭自身是无状态服务,依赖 MySQL 及 Redis 服务,需要自行搭建高可用的 MySQL 及 Redis 集群。
建议使用 k8s 或 swarm 来部署爱速搭镜像容器,建议 5 个及以上实例,只要保证这些实例能正常运行,爱速搭就能正常运行。
目前爱速搭不限制示例数量,可以通过多开几个实例来提升性能,需要注意的瓶颈是 MySQL,可以使用 TiDB 来水平扩展。
另外爱速搭的应用目前支持「生成独立应用」(在应用开发的「发布应用」里),它生成的文件可以独立运行,不依赖平台,因此即便平台出故障也不会受到影响,并且性能更好,推荐对于性能及稳定性要求比较高的应用使用这个功能,但它目前还不支持数据模型及流程功能。
健康检查
爱速搭镜像内自带了健康检查及进程保活,如果需要进一步检查,可以使用 http 协议检查 8085 端口是否能返回内容,但需要注意爱速搭初始启动比较耗时,因此初始检查时间最好长点,比如 15 秒,类似下面的例子
apiVersion: v1
kind: Pod
spec:
containers:
- name: aisuda
image: registry.baidubce.com/aisuda/aisuda:1.3.9
livenessProbe:
httpGet:
path: /
port: 8085
initialDelaySeconds: 15
periodSeconds: 5
故障处理
爱速搭的故障主要是 MySQL 及 Redis 导致的。
MySQL 无法连接
表现为
Opps 出错了
Error: connect ECONNREFUSED ${ip}:${port}
Redis 无法连接
表现为
Opps 出错了
MaxRetriesPerRequestError: Reached the max retries per request limit (which is 20). Refer to "maxRetriesPerRequest" option for details.