马上行计划管理后端架构
小程序日活未破万低成本高可用及滚动发版实战。
小程序已经积累很多用户了,高可用及滚动发布已经提上日程。
日活未破万,选购多台多家云服务器或者自建机房搭建k8s(Kubernetes),成本显然有点太高了。因此取了折中的办法本地和云端服务同时启用。
看下具体操作:
服务器:
1.戴尔16C32G(下文简称本地)
2.华为云服务器2C4G(下文简称云端)
工具frp。
具体操作:
1.域名绑定云服务器公网ip。
2.frp服务端(frps)在云服务器启动,使用公网ip。
3.本地和云端都使用frp客户端(frpc)。
4.nginx监听frpc映射端口,转发java进程。
5.使用redis作为分布式锁及计划单号生成。
6.数据库使用双主保证一台服务器损毁后数据不丢失(不能使用数据库锁,双主相互同步有问题)。
实现目标:
1.云服务崩溃后应用暂不可用,数据不会丢失,短时间可以快速恢复。
2.本地服务崩溃后应用可以正常使用,收到通知后快速处理。
3.滚动发布,发布哪个服务器关闭服务器frpc,frpc实现负载均衡及高可用,关闭一台frpc,frps会将流量分配到另一台服务器,不会影响项目正常访问。
欢迎体验微信小程序:马上行计划管理