2014-03-12 55 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