AWS ElastiCache - 概述



ElastiCache 是一個分散式快取環境,透過使用基於雲的快取來提供對資料的更快訪問。直接從資料庫或透過遠端 API 呼叫查詢資料比從快取查詢資料慢得多。AWS 提供了 ElastiCache 服務,該服務具有高效能、可擴充套件性和成本效益。它消除了與管理分散式快取相關的複雜性。

ElastiCache 的用例

以下是利用 ElastiCache 以經濟高效的方式快速查詢的一些用例。

  • 即時分析 - 當客戶線上購物時,產品推薦需要在客戶仍在瀏覽目錄時立即生成。這需要將客戶已選擇的現有產品儲存在快取中並即時分析,以推薦下一組產品。

  • 訊息管理 - 當透過某些渠道向訂閱者傳送訊息時,總有一些訂閱者取消訂閱,另一些訂閱者加入特定渠道。如果沒有快取機制,由於延遲,訊息可能會丟失或放錯位置。因此,ElastiCache 有助於保持訂閱狀態的最新和準確。

  • 排行榜 - 在遊戲行業中,玩家得分的積分和他們在排行榜上的位置會不斷更新。這需要持續更新,並且這裡非常需要快取才能能夠持續顯示不斷變化的領導者位置。

ElastiCache 內容

並非所有內容都可以也不需要快取。因此,下面討論了影響需要快取哪種內容的各種因素。

  • 資料庫內容 - 經過複雜且昂貴的查詢處理後獲取的內容絕對是快取的候選物件。它透過避免重複查詢處理來減少延遲,並降低資料庫磁碟讀/寫成本。

  • 頻繁訪問的資料 - 即使某種資料不涉及昂貴的查詢,如果它比其他資料塊更頻繁地訪問,也可能需要快取。

  • 訪問模式 - 如果資料變化過於頻繁,則快取沒有用。因此,我們需要尋找使用者相對靜態但經常需要的資料的訪問方式。

  • 對陳舊資料的容忍度 - 一旦快取,資料就會開始變得陳舊,直到再次讀取。在這種情況下,如果需要資料的應用程式對陳舊資料容忍度低,則快取無濟於事。例如,當您購買股票時,價格需要在此刻準確,因此不需要快取。但是昨天的收盤價將在今天的計算中頻繁參考,它是靜態的,需要快取。

ElastiCache 的元件

AWS 提供的 ElastiCache 具有以下重要元件。我們將在後續章節中瞭解它們的配置和使用。

  • 節點 - 節點是安全、網路連線的 RAM 的固定大小的塊。每個快取節點都有自己的域名服務 (DNS) 名稱和埠。

  • 用於 Redis 分片的 ElastiCache - 它是一組 1 到 6 個相關節點。一個叢集可以有 1 到 90 個分片。

  • 用於 Redis 叢集的 ElastiCache - Redis 叢集是 1 個或多個用於 Redis 分片的 ElastiCache 的邏輯分組。資料在啟用了 Redis(叢集模式)的叢集中的分片之間進行分割槽。

  • 用於 Redis 端點的 ElastiCache - 它是應用程式用於連線到 ElastiCache 節點或叢集的唯一地址。

ElastiCache 的功能

ElastiCache 的各種功能有助於我們規劃正確的配置和成本估算。重要的功能如下。

  • 用於 Redis 複製的 ElastiCache - 複製是透過將 2 到 6 個節點分組到一個分片中來實現的。其中一個節點是讀/寫主節點。所有其他節點都是隻讀副本節點。

  • 區域和可用區 - 快取可以在滿足您業務需求的任何位置構建和使用。AWS ElastiCache 服務可在全球多個 AWS 區域使用。

  • ElastiCache 引數組 - ElastiCache 引數組是您可以應用於叢集的引擎特定引數的命名集合。它們用於控制記憶體使用、逐出策略和專案大小等。

  • 用於 Redis 安全性的 ElastiCache - 您可以透過使用子網組或安全組來控制可以訪問叢集的 Amazon EC2 例項。

廣告