【问题标题】:Two instances of database are not synchronized with load balancer两个数据库实例未与负载均衡器同步
【发布时间】:2017-08-23 08:21:31
【问题描述】:

我有 2 个 MySQL 数据库实例,它们由负载均衡器处理。现在 Spring 应用程序通过大量请求联系负载均衡器。某些事务正在锁定数据库中的一行(独占)。在某些情况下,当我在 1 秒内发送 100 个请求时会发生死锁。有谁知道什么会导致僵局?当然,只有当我发送锁定数据库中同一行的相同请求时才会发生死锁。

这就是系统现在的样子。

【问题讨论】:

  • 我建议为您的应用程序使用单个逻辑数据库。必要时进行分区。
  • 架构需要这样,因为请求量很大(100-1000 req/sec)。也因为这样我有复制,所以数据会更安全。
  • 随心所欲,但我不会使用这种架构。

标签: mysql synchronization database-replication


【解决方案1】:

当您有大量请求时,显然同步两个数据库并不是一个明智的主意。所以最好使用一个数据库,让另一个数据库成为“奴隶”。在这种情况下,最好的策略是我使用的故障转移。

使用多个应用程序实例,不存在复制问题。但是对于数据库,同步是个大问题。所以正如@Tim Biegeleisen 所说,最好使用单一数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    相关资源
    最近更新 更多