【问题标题】:Best Practice Architecture: Wildfly 10.1 and MySQL DB最佳实践架构:Wildfly 10.1 和 MySQL DB
【发布时间】:2017-04-25 10:09:47
【问题描述】:

我需要两个 Wildfly 实例,在使用相同数据库的两台不同机器上运行。如何实现这样的用例?到目前为止,我看到了两个选项:

  1. 两台机器上的mysql数据库(互相镜像)
  2. 外部 mysql 数据库和连接到该远程数据库的两个实例

什么是最佳实践,我必须考虑什么?我找不到任何有关如何将远程数据库作为数据源添加到 Wildfly 的信息,这是不好的做法吗?

更新: 假设我选择了第二种方法,如何将远程数据库作为数据源添加到 wildfly?

【问题讨论】:

  • 说明需要2台机器。 (有多种解决方案;我们应该专注于满足您需求的一种。)
  • 我需要2台机器来防止系统在硬件故障的情况下停机。我曾考虑将它们放在不同的数据中心,但我已经阅读了this article 并取消了这个想法。
  • 如果你把它们放在同一个 DC,那么一个龙卷风、地震等就可以把它们都消灭掉。我见过冒烟的 UPS 和热浪摧毁数据中心。
  • 两台机器都会接收写入吗? (我希望不会。)或者一个是热备用?
  • 好吧,也许我的问题有误导性。我不是数据库专家,我不会设置数据库...我只想知道如何将 2 个 Wildfly 实例连接到同一个远程 mysql 数据库。

标签: mysql database-design architecture wildfly application-server


【解决方案1】:

当您有多个客户端时,通常最好让所有客户端都与单个 MySQL 实例通信。

单个 MySQL 实例:维护更简单,拓扑更简单等

多个 MySQL 实例:必须决定复制的类型、配置、管理等。好处是一些额外的冗余级别(“高可用性”)。

在任何拓扑中,您​​都需要考虑多个客户端在“同一”时间接触相同的数据。这通常可以通过 InnoDB 的事务处理。

【讨论】:

    猜你喜欢
    • 2013-05-07
    • 2017-08-24
    • 2013-01-04
    • 2015-07-13
    • 2020-06-12
    • 2010-11-17
    • 1970-01-01
    • 2021-01-25
    • 2020-07-13
    相关资源
    最近更新 更多