我们正在考虑一种设计模式,其中
- Web 服务尝试将数据插入数据库
- 如果调用失败并且数据库不可用
- 然后我们将该数据传递到 Azure 服务总线
- 一旦数据库备份,其他一些服务将从服务总线读取数据并将其插入数据库。
我个人没有见过这种模式,但是这种设计有什么问题吗?
最佳答案
排队系统通常使用的方式与您所要求的略有不同。 如果目标资源(数据库)不可用,队列允许可靠的命令执行,并平衡资源上的负载而不是压倒它。
步骤是:
- Web 服务发送一条服务总线消息,其中包含需要插入数据库的数据。
- 后端服务正在查看消息并尝试将其插入数据库。
- 如果操作失败或数据库不可用,则会重试该消息。
关于azure - 使用Azure服务总线作为备份消息服务是一个好的模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57982622/