MySQL 集群架构注意事项
Posted
技术标签:
【中文标题】MySQL 集群架构注意事项【英文标题】:MySQL Cluster Architecture Considerations 【发布时间】:2014-03-12 06:37:29 【问题描述】:我们将在接下来的几周内部署一个新创建的 Web 应用程序,该应用程序来自我作为一名软件人员从事的项目。我们预计前 6 个月不会出现高负载,但我们希望以可扩展的方式构建系统架构。我有一个想法,但不确定这是否常见或表现良好:
-
我会创建 2 个或更多 mysql-ndb 集群节点
我会创建 2 个或更多 Web 应用程序节点,上面有 MySQL 前端服务器,连接到 ndb 存储。
如果我要部署一个新的 web 应用程序节点,它将始终与安装在其上的 mysql 前端服务器一起提供。因此,每个 Web 应用程序都会连接到 localhost 以进行 MySQL 连接。
我知道在这种情况下存在安全考虑。 Web 应用程序位于反向代理之后,不能从外部直接访问。
在这种情况下有什么缺点吗?只是一个理论问题;如果我在存储层上拥有比 NDB 节点更多的前端 MySQL 服务器怎么办?
【问题讨论】:
【参考方案1】:不要认为有任何重大缺点。只需考虑通过代理增加的额外延迟即可。
您可以根据需要添加任意数量的 MySQL 服务器,它们不会影响存储/数据节点的数量。它只是允许更多的客户端一次将查询推送到数据/存储节点。考虑使用multi-thread storage node(ndbmtd)快速查询和返回数据。
我还推荐以下内容:
添加额外的管理节点 (ndb_mgmd) 在 SQL 节点/MySQL 服务器前面添加一个负载平衡器,以进一步从数据库基础架构中抽象出您的应用程序。这将有两个好处,如果其中一个 SQL 节点出现故障,则不必重新启动应用程序。您将能够在对应用程序影响最小的情况下升级单个 SQL 节点。此外,如果您想阅读更多内容。在自己进行研究之后,您可以通过阅读博客文章来节省一些时间:
MySQL CLuster 101 MySQL High Availability Architectures
【讨论】:
以上是关于MySQL 集群架构注意事项的主要内容,如果未能解决你的问题,请参考以下文章