iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 11
1
Everything on Azure

三十天.NET❤️Azure漸進式開發專案系列 第 11

三十天.NET與Azure漸進式開發專案(11):使用Azure Redis(下) - 為甚麼要使用

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分鐘備份一次可以減少資料遺失風險。


上一篇
三十天.NET與Azure漸進式開發專案(10):使用Azure Redis(上)-建立、使用
下一篇
三十天.NET與Azure漸進式開發專案(12):Azure Function-建立、測試
系列文
三十天.NET❤️Azure漸進式開發專案30

尚未有邦友留言

立即登入留言