【问题标题】:How to sync back end up with front end after outage如何在中断后将后端与前端同步
【发布时间】:2023-01-24 11:00:17
【问题描述】:
我们使用的是一个基于云的系统,在我们退出后发现每年有几次大量的停机时间到 30 多个小时的停机时间来进行升级。我们提供 24 小时服务,不能停机那么久。
前端 UI 在功能、视觉和可访问性方面也很糟糕,这让我们想到构建我们赢得的前端 UI。我们的想法是通过 API 调用从自定义前端向系统提交请求。
如果后端系统因升级而宕机,我正在考虑如何将整个中断期间传入的请求同步到前端。我可以添加一些东西来同步所有尚未发送的内容,或者让后端平台查看前端并创建任何尚未创建的对象。
是否还有其他可以保持系统同步的东西?
任何想法或想法表示赞赏。
【问题讨论】:
标签:
user-interface
frontend
backend
【解决方案1】:
您可以考虑几个不同的选项来在后端系统停机期间保持系统同步:
-
排队系统:你可以在
存储停机期间收到的请求的前端。一旦
后端系统重新上线,前端可以提交所有
对后端的排队请求。
-
缓存系统:你可以在前端实现一个缓存系统
临时存储通常存储在
后端。一旦完成,这些数据就可以同步回后端
重新上线。
-
离线模式:您可以为前端实现离线模式
允许用户继续发出请求,即使后端
下来了。一旦后端重新上线,前端就可以
提交在离线模式下提出的任何请求。
-
双向同步:您可以让后端和前端进行通信
彼此跟踪哪些请求已被处理,
即使一个系统出现故障。例如,后端可以
定期检查前端是否有任何未处理的请求,以及
前端可以定期检查后端是否有任何更新
数据。
-
使用数据库:您可以使用数据库来存储所有请求
在整个中断期间出现,一旦后端恢复在线
前端可以查询数据库以获取所有请求
已经在中断期间完成,然后将它们发送到后端。
值得注意的是,这些选项都有自己的一系列技术挑战和权衡。您需要权衡每个选项的收益和成本,然后选择最适合您的用例的选项。