11/04 2020

【PHP on AWS】Day 14-AWS MYSQL 的選擇與評估

Nextlink PHP on AWS MYSQL

幾種建置方式

通常我們的建置會有幾種作法:

  • VM自建
  • PAAS服務
  • Container

VM

VM的作法其實就是AWS EC2,但不太建議因為備份還原等等機制都要自己做。

目前有遇過客戶做了mariadb cluster,結果只要讀寫超過一個瓶頸,無論超過幾台就自動解散組不回去的狀況,只是勝在便宜、可控制性高。

這邊唯一要注意的是,讀寫的部分是受到AWS EC2中的EBS所控制。

PAAS服務

PAAS服務的MYSQL在AWS中通常指的是RDS MYSQL,這是指AWS利用EC2幫你做好的服務。雖然你無法碰到底層但是AWS的調教,功力絕對比你我都好,只是一樣會受到AWS EC2中的EBS所控制。

另外還有一種資料庫是AWS特色服務 Amazon Aurora,他是一種大型storage架構出來的的資料庫,由下圖可一窺架構之一二:

他的特色是已經做完讀寫分離且讀的部分已經透過proxy幫你做好分配,且讀取資源可做到自動擴展,讀五台不夠就開十台來跟你拼了。

同時他每台在不考慮SQL效能之下,都可以有200K/800K的奇特表現,算是雲端界的讀寫效能之王。

缺點就是單價較貴,而且收費上面額外計算讀寫次數之費用。

Container

最後再說說Container,基本上有些新創會使用這個,但不太建議,並非不能用而是泛用性太低。

如果是一個較高負載的系統,會導致Container不斷的死亡,就算資源給很多也是相同。

這是因為Container架構上的再次虛擬化架構,導致效能降低額出現的而外影響,非必要不建議用這招。

請持續鎖定 Nextlink 架構師專欄,以獲得最新專業資訊喔!

若您有任何 AWS 需求,歡迎與我們聯繫!