我有一个将数据写入数据库的应用程序。如果发生网络故障,到数据库的连接就会丢失& my查询会冻结整个应用程序。
因此,为了使其异步,我使用了消息队列机制将"db查询“部分与”核心应用程序部分“分开。
问题是,在数据库恢复联机之前,所有平均时间生成的数据都会丢失。
什么样的软件设计可以帮助解决这个问题?
发布于 2019-05-07 06:11:23
问题的核心是,通过引入异步消息队列,如果db查询开始失败,应用程序将不再获得即时反馈(如异常消息)。我基本上看到了处理这个问题的两个概念选项:
即使是第二种方法,通知应用程序网络停机时间也是个好主意(通过异步消息/信号)。也许它可以切换到类似于“脱机”模式,停止生成更多的消息,这样MQ的本地缓冲区就不会被重载。
https://softwareengineering.stackexchange.com/questions/391490
复制相似问题