【问题标题】:MariaDB Spider with Galera Clusters failover solutionsMariaDB Spider 与 Galera Clusters 故障转移解决方案
【发布时间】:2021-08-25 12:25:41
【问题描述】:

我在尝试为实验构建数据库解决方案以确保 HA 和性能(分片)时遇到问题。

现在,我有一个spider节点和两个galera集群(每个集群3个节点),如下图,这个配置在一般情况下效果很好。:

不过,据我所知,蜘蛛引擎在进行分片时,必须分配主IP才能将SQL语句分发到不同Galera集群中的两个节点。

所以我的第一个问题是:

Q1):当机器.12因破坏而关闭时,如何使.13或.14(其中之一)自动替换.12?

  • 蜘蛛引擎知道的服务器

Q2):是否有任何开源工具(或技术)可以帮助我处理这种情况?如果是这样,请解释它是如何工作的。 (也许是 MaxScale?但我从来不知道它是什么以及它能做什么。)

Q3):这个实验的动机如下。一个自动化工厂有很多机器,每台机器都会产生一些在生产过程中必须记录的数据(可能是每秒数百或数千条数据),以观察机器的运行情况,使每批产品的质量达到最佳。 所以我的问题是:这个架构怎么样(图 1)?或者请提供您的建议。

【问题讨论】:

  • (不相关)如果所有6台服务器都在同一栋楼里,HA是洪水、地震等的问题。
  • @RickJames 未来集群会部署在云端。
  • 您可以查看云的 HA 功能;它可能“和”Galera 一样好。
  • 每秒“数千”次插入可能需要“分片”。这是另一个话题。
  • 在我的情况下需要分片,但我不知道如何在 Galera Cluster 1 中将 Spider 的主服务器从 .12 切换到 .13 或 .14。你能帮我解决这个问题吗? @RickJames

标签: mariadb sharding failover galera maxscale


【解决方案1】:

您可以在 Galera 集群前面使用 MaxScale,使各个节点看起来像一个组合集群。这样,即使其中一个节点发生故障,Spider 也能够无缝访问分片。您可以查看the MaxScale tutorial,了解如何为 Galera 集群配置它。

这样的事情应该可以工作:

这当然与单个数据库节点具有相同的限制:如果 MaxScale 服务器出现故障,您将不得不为该集群切换到不同的 MaxScale。使用 MaxScale 的好处是它在某种意义上是无状态的,这意味着它几乎可以立即启动和停止。网络负载均衡器(例如 ELB)已经可以针对这个问题提供某种形式的保护。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多