High Availability Database 的架構設計

High Availability Database 的架構設計 這篇文章主要說明資料庫的 High Availability 有哪些技術上的選擇可以採用, High Availability 指的是當機時間最少、99.99x%,當資料庫發生錯誤時, 可以隨時有另外一台資料庫備援,另外,當使用者突然暴增的時候,還能夠正常的服務! 要達到這些目標,技術上有哪些選擇可以採用? 這篇文章提到的相關技術與應用套件主要用 MySQL 為例子。 Clustering 提到 High Availability…

Read More

高負載網站的技術架構 (Java為例)

高負載網站的技術架構 (Java為例) 這篇文章主要說明當一個網站從數千人的線上使用者到數千萬人的連線使用者時, 有哪些架構上可以調整的部分,以符合高流量的網站需求? 網站可以達到數千萬人的使用者所面臨的技術上的挑戰不外乎是:Availability, Scalability, performance等 我們會說明幾種在不需要大改設計的情況下,可以彈性調整的作法。 這些做法不一定要到數千萬人,小型的網站有部分模組有效能瓶頸時也可以參考。 網站的非功能性目標 一個網站除了提供商業功能之外,還會提供非功能性目標。 效能 網站可以提供許多使用者同步平行處理請求。這種情況特別發生在高鐵的線上車票購買的情況。 在短時間內,有大量的使用者連線上限購買,造成系統瞬間的高負載,無法處理的情況下當機。 Availability 就是 99.999%或是 99.99%的目標。 要達到這個目標就必須要做到 “容錯”…

Read More

Selenium網站自動化測試: 讓瀏覽器模擬成手機瀏覽手機版網站

Selenium網站自動化測試: 讓瀏覽器模擬成手機瀏覽手機版網站 這篇文章主要討論如何將瀏覽器模擬成手機,讓網頁回傳手機頁面的版面。 許多的網站都會提供幾種不同的版面。一個是電腦瀏覽版,另外一種就是手機或是平板瀏覽版面。 我們可以準備手機與平板進行測試。 但是,我們其實也可以直接對瀏覽器做設定就可以達到同樣的測試較果。 如何做這樣的設定,自動化測試程式如何實作就是這篇文章要討論的範圍。   User Agent 網站如何識別該連線過來的瀏覽器是手機還是電腦? 主要靠的就是 user Agent user Agent 是Http header 中的一個參數值, 只要適當的修改這個值傳送到網站 網站就會根據對應的瀏覽器顯示不同的頁面…

Read More