0
如果数据库代理(例如maxscale)存在于后端数据库与客户端之间,则如果代理节点本身发生故障,会发生什么情况。具体而言,我对以下情况感兴趣:写入期间数据库代理节点故障
- 客户端发出写入命令(假定启用自动提交)。
- 数据库代理接收来自客户端的写入命令并将其发送到后端数据库。
- 后端数据库接收写入命令,执行写入,提交事务并将确认发送回代理节点。
- 代理节点接收到确认。但是,在代理节点可以将确认发送回客户端之前,它会死亡。
在这种情况下,事务已被提交,并且就数据库而言,其客户端(即代理节点)已被通知。但是,实际的客户并不知道交易是否已提交。
数据库代理如何处理这种情况?