2014-03-12 31 views
0

我们将在接下来的几周内从一个作为软件人员的项目中部署新创建的WebApplication。我们预计前6个月不会出现高负载,但我们希望以可扩展的方式构建系统架构。我有一个想法,但不知道这是常见的或表现良好:MySQL集群体系结构注意事项

  1. 我将创建2个或更多的mysql-NDB集群节点
  2. 我将创建上的MySQL前端服务器2个或多个web应用节点它连接到ndb存储。
  3. 如果我将部署一个新的web应用程序节点,它将始终与安装在其上的mysql前端服务器一起发货。所以,每个Web应用程序都会连接到localhost以进行MySQL连接。

Cluster Scenario

我知道有一些安全注意事项在这种情况下。 Web应用程序位于逆向代理的后面,不能从外部直接访问。

在这种情况下是否有任何缺点?只是一个理论问题;如果我在存储层上拥有比NDB节点更多的前端MySQL服务器,该怎么办?

回答

1

不要认为有任何主要的缺点。只需考虑通过代理添加的额外延迟时间。

您可以根据需要添加尽可能多的MySQL服务器,它们不影响存储/数据节点的数量。它只是允许更多的客户端一次将查询推送到数据/存储节点。考虑使用multi-thread storage node(ndbmtd)来快速查询和返回数据。

我也想提出以下建议:

  • 添加额外的管理节点(ndb_mgmd)
  • 添加负载平衡器前面的SQL节点/ MySQL的服务器,以进一步抽象您从数据库基础架构的应用程序。这将有两个好处,如果其中一个SQL节点关闭,应用程序将不必重新启动。您将能够对应用程序的影响降至最低,从而升级单个SQL节点。

MySQL Cluster Architecture Diagram

此外,如果你想读more.After做研究自己,你可以通过阅读博客文章节省一些时间:

MySQL CLuster 101 MySQL High Availability Architectures