我有一个API在网络不稳定的本地服务器上运行。我想添加一些基于云的冗余,但不知道最好/最便宜的方法。
API从网络挂钩接收一些数据,并更新本地网络上的设备。
我一直在集思广益的是API的striped-down版本,它只保留webhook数据,ping主API,如果它启动并接收到数据,则什么也不做(如果是这样,则不将数据保存在本地(,但如果主API关闭,它会发送一封电子邮件并存储数据,然后在12-24小时的时间间隔内重新感知数据,直到成功为止(网络关闭的可能性很高,直到有人物理重置硬件需要$来修复,而我没有(。有没有更好的方法来实现这一点?
此外,什么样的服务最适合这种部署/有什么工具可以帮助完成这样的事情?它将不超过100个请求每月发送&收到了,所以我想保持便宜/免费。尽管有了24小时计时器,我不知道最好的方法。我过去使用过Heroku,我知道它的调度器功能,但我没有使用过它们,在将其作为解决方案进行投资之前,我想要更多的投入。当前的API无法按原样部署,我可能需要从头开始重建才能在云环境中工作,所以我希望事先挑选一些东西。
无服务器架构听起来是这种情况下的最佳选择(即AWS Lambda(。您可以使用托管存储服务(即S3(来存储数据,直到您可以访问本地API。对于这个用例来说,任何涉及持续运行服务的东西都可能不具有成本效益。
您可以安排无服务器作业,也可以安排从存储服务读取本地API。如果本地API可以检测到这些网络故障,则可以完全避免计划,并在连接恢复时检查更新。
我提到了AWS,但有很多替代方案(谷歌云是最明显的(。