首頁 三十天.NET❤️Azure漸進式開發專案 輕量高效.NET Core開源Blog引擎:Miniblog.Core
首頁 三十天.NET❤️Azure漸進式開發專案 輕量高效.NET Core開源Blog引擎:Miniblog.Core
×

IT鐵人賽連結:https://ithelp.ithome.com.tw/articles/10201729

Q.為甚麼要使用Redis?

通常Redis應用在同步多台Server之間的快取
假如只有一台Server建議使用本地的快取就好,可以省下這筆錢的。

舉例:
在昨天例子短時間大量請求,警告使用者中,假如Server有做附載平衡有A、B、C三台伺服器,又只使用本地快取情況下,當使用者惡意大量送出請求,最差情況使用者可以三倍請求上限的請求,如圖片
2018-10-16.21.04.15-image.png

使用Redis可以避免此情況,三台Server取得資料來源一致從Redis而來,如圖片
2018-10-16.21.04.29-image.png

甚至網頁伺服器經典功能Session也可以使用Redis保存,達到多台Server共用Session。


Q.為甚麼要使用Azure Redis?Redis是開源、免費,為什麼還要花錢在Azure建立?

1.因為使用其他Azure其它服務像是wep app service,服務之間會自動轉換為走內網,提升速度。
假如還在家架設redis,光是離azure機房遙遠網路傳遞時間,就失去了快取的意義。

2.支援動態調整記憶體大小、甚至叢集也可以動態調整。
注意叢集方案很花錢,最起碼要P1方案以上
2018-10-16.21.17.52-image.png

3.支援簡單的定時備份(RDB),可以減少資料遺失的情況
2018-10-16.21.15.35-image.png

舉例,像是伺服器為了減輕資料庫壓力,資料先保存在Redis,用排程器一小時抓取Redis資料保存到DB,中間假如Redis發生異常,一小時中間的資料就算是遺失了。這時候使用RDB設為15分鐘備份一次可以減少資料遺失風險。


留言


Comments are closed