保持对单机的服务连接,接入弹性伸缩时候就完全不可用了.因此重构代码,将缓存信息存储到Redis里面,而后读取其中信息.这样配置了服务的开机自启之后就可以有效的进行弹性伸缩的业务可用性保证.总而言之服务器应该作为无状态服务...进一步服务的解耦是在这次mini项目中理解的部分.对于python的sdk/api/算法实现,我们服务端最初解决的策略有二:
使用go-python包进行封装调用(如轨迹识别算法调用了opencv,go...内部业务出错难以定位,文档不全,内部业务更新需要宕机整个业务系统
hack python sdk相当于把接口直接暴露在公网,安全问题和稳定性有待考究
于是我们分离核心模块与算法模块到内部服务器,类似外网负载均衡业务,接入内网负载均衡服务...,内网弹性伸缩组通过内网ip调用算法弹性伸缩组,这样golang的代码看起来优雅(没有wrap和hack)许多,也进一步保证了安全性.另外可以对于不同服务设计不同弹性伸缩策略(业务服务设计CPU监控,图像算法服务设计内存监控...监控虽然接入了内测的tlog,但是后期开发量还是很大,包括对于客户端日志的收集,邮件通知服务
(TODO)WNS接入: 对于腾讯云部署的业务是免费的~~
准备移植小程序,用nodejs做后端试试。