2020ironman 12th – Modern Web – Day13 – EC2第一個拆分的東西MYSQL

分享

為何要先拆MYSQL?

其實很多東西都要分拆

而不是只有MYSQL

其實只要是程式碼之外的的東西都是需要分拆的對象

但是在整體結構當中通常資料庫都是第一分拆的

原因無他

在標準三層式架構中Web、AP、DB 本身就因該是獨立的且是做到HA的架構

且合理的三層式架構比起單台主機的架構相對多了彈性與擴展性

注意事項

拆分資料庫最重要的事情很多但是有幾件事情由其重要

  1. 是否有停機時間,如果你匯出匯入時出現了新訂單?這時候該怎麼處理。最簡單的就是停機
  2. 程式碼中的連線設定檔掌握了,我看過有公司一個PHP自建的ERP光連線一個資料庫就有10幾處設定檔,上去是一場災難
  3. 資料庫不在本機狀況之下該如何管理?

先想好這幾點可以讓您搬遷的路途上少點灣路

最初與最後的拆分目標

可能會如同這張圖或者是接近

這是兩年多前協助客戶進行的專案了

你會發現有很多的拆分點

但是無論如何資料庫都是首先要務

Read more

雲端架構延遲問題:為什麼AP與DB不能放太遠?

雲端與地端的架構差異認知不足導致的性能陷阱 前言 許多企業在上雲初期,經常基於成本考量或錯誤認知,將應用程式伺服器(AP)與資料庫(DB)部署在不同區域。這種做法在地端環境中影響較小,但在雲端環境中卻會造成嚴重的性能問題。本文透過台北-東京的實際案例,說明距離對雲端架構的致命影響。 核心問題: * 地端思維:同個機房內不同區域延遲可忽略 * 雲端現實:跨區域延遲可達數十毫秒 * 結果:連線建立時間從毫秒級暴增到秒級 1. 地端 vs 雲端的延遲差異 1.1 地端環境的延遲特性 傳統地端機房: 同機房不同機櫃:RTT < 1ms 同城市不同機房:RTT < 5ms 同國家不同城市:RTT < 20ms 地端架構師的經驗: * AP和DB分別放在不同機櫃:幾乎無延遲影響 * 災備機房放在不同城市:RTT約10-15ms,可接受 * 習慣性認為「網路延遲不是問題」

By Albert Yu