写入期间数据库代理节点失败

时间:2017-02-15 01:56:14

标签: database proxy maxscale

如果后端数据库和客户端之间存在数据库代理(例如,maxscale),则在代理节点本身发生故障时写入会发生什么。具体来说,我对以下场景感兴趣:

  1. 客户端发出写命令(假设已启用自动提交)。
  2. 数据库代理从客户端接收写命令并将其发送到后端数据库。
  3. 后端数据库接收写命令,执行写操作,提交事务并将确认发送回代理节点。
  4. 代理节点收到确认。但是,在代理节点将确认发送回客户端之前,它就会死掉。
  5. 在这种情况下,事务已经提交,就数据库而言,已通知其客户端(即代理节点)。但是,实际的客户端不知道事务是否已提交。

    数据库代理如何处理这种情况?

1 个答案:

答案 0 :(得分:0)

对于MaxScale,当客户端连接突然关闭时,后端数据库连接也会关闭。这使得行为类似于服务器在没有代理的情况下的行为方式。