目前有一个使用亚马逊队列服务之类的队列系统设置。现在我正在使用主管来阻止工人辞职。
试图提供一个可以接收 500-2K 请求/秒的前端,并且需要通过队列捕获数据。有时队列服务[基于 https] 出现故障,我目前正在运行 beanstalkd 作为备份队列,它获取相同的数据并发送到单独的一组工作人员并将该数据存储在单独的数据库中,但具有与主数据库相同的表结构D b。
我的想法是我将从备份中获取数据并将其与预期的实际数据进行比较并对其进行审核,任何差异都将被报告并可能添加到预期的数据集中。
这似乎是解决这个问题的一种实用方法,因为我试图确保我们捕获 99.99% 的数据。
下面的小“示范”帮你上图。
Endpoint A -- collects data(
Queue1[amazon type queue]
Queue2[beanstalkd]
)
Queue1 Worker sends data to DB1[used for reports]
Queue2 Worker sends data to DB2[storage --expect to have all data]
Audit Process compares data from DB2 to DB1 and reports the differences
If differences captured, tries to add them to DB1