我需要构建像 Microsoft 的http://login.live.com这样的身份服务器。
为了处理故障转移,我将拥有多个 Web 服务器节点。计划是通过向数据库服务器发送消息来完成所有数据库写入操作。数据库将被镜像或复制。这个想法是数据库订阅写操作,但其他节点也订阅。这样其他节点就不需要从数据库中读取数据并且可以更新它们的缓存。
我刚刚开始学习服务总线架构,我不清楚如何处理服务总线的故障转移场景。
问题:
- 如果数据库服务器不可用,发布的消息会怎样?
- 它们会被存储在某个地方吗?
- 我是否需要额外的机器或集群来处理服务总线的故障转移?
- 我读到 SQL Server 可以用作消息存储,但我可以使用持久的 MSMQ 吗?我正在排队消息以便能够将它们写入数据库,那么为什么我要先将它们存储到数据库中,然后再将它们写入数据库?或者,我弄错了,DB 仅用于订阅列表而不用于消息?