拋磚引玉
講一下作者背景,曾經參加過國內世界技能大賽云計算的選拔,那么在競賽中包含兩類,一類是架構類競賽,另一類就是TroubleShooting競賽,對應的分別為AWS GameDay和AWS Jam,想必也有朋友玩過此類競賽,那么最經典的一個Gameday,我認為是Gameday 2015那個比賽,感興趣的朋友可以在這里看看哈
AWS-Gameday-2015-Runbook:https://github.com/fedorovdima/aws-gameday/blob/master/runbook.md
上圖為一個簡易架構示例圖
那么在這場比賽中,是有好幾個版本的,如果說延伸到后面的版本,那么Elasticache是一個拿分的好物(在不考慮Cloudfront的情況下),因為從客戶端發送來的數據,會被緩存到Elasticache中,在這里當然是用的Elasticache for memcached,當客戶端再次發送同樣的數據請求過來的時候,首先會往memcache的查詢數據,如果有就即刻返回。
那么在這個實踐的過程中,我們拋開架構上的設計,我們使用Elasticache for Memcached首先是要去創建。
OK,那么問題來了
- 在生產實踐中,我們需要考慮到成本的問題,創建多大呢?我們如何去預估這個緩存數據庫的一個規模大小,這是第一個問題(雖然在競賽中,都是扣一樣的)
- 創建緩存數據庫需要花時間,如果設置錯誤,刪除也需要花費時間,在每個階段會需要時間等待,大約4-5分鐘
總結起來就是:彈性伸縮,成本管控
視頻介紹
Serverless助力數據拓展無極限
在2023 亞馬遜云科技 re:Invent大會中,Peter宣布推出 Amazon ElastiCache Serverless,這是一種新的無服務器選項,允許客戶在一分鐘內創建緩存并根據應用程序流量模式立即擴展容量。Amazon ElastiCache Serverless 與兩種流行的開源緩存解決方案 Redis 和 Memcached 兼容。
Amazon ElastiCache Serverless 具有以下優勢:
- 無需管理基礎設施:ElastiCache Serverless 自動管理容量和擴展,因此您只需為您使用的內存和計算付費。
- 快速啟動:您只需幾分鐘即可創建和啟動 ElastiCache Serverless 緩存。
- 按需擴展:ElastiCache Serverless 會根據您的應用程序需求自動擴展或縮減緩存的容量。
- 高可用性:ElastiCache Serverless 自動將數據復制到多個 Availability Zone,以確保高可用性。
通過這樣簡單介紹,我相信大家已經明了我的意思了,Amazon Elasticache Serverless可以滿足咱們在之前所遇到的問題,一個是硬件彈性擴縮容,一個是創建/刪除時間長的問題。那么我們實際來看看 Amazon Elasticache Serverless的實際表現如何。
實踐環節
在本次實踐測試中,使用Elasticache for Memcached的Serverless版本
控制臺創建
默認就會已經選擇了Serverless版本
連接及使用
在我們測試某個服務端口是否開放的時候,我們用telnet來進行連接,那么在常規使用中,我們在網上看到連接redis和memcached的方法也是使用telnet,例如
telnet Cache_host:port
那么,我們可用用這個命令連接上咱們一般創建的redis/memcache,請注意,為什么我在這里說的是“一般”
在默認和自定義的情況下,亞馬遜云科技的Elasticache的Redis/memcached都會有一個選項,叫做“傳輸中加密”,該選項是“始終啟用”,且無法關閉
加密連接
openssl s_client -connect Cache_host:Port
彈性拓展
當然,Elasticache Serverless,重就重在Serverless,在創建之初,咱們就已經提到過,我們可以自行定義可用內存和每秒ElastiCache 處理單位,當然默認情況下是不設限的。
總結
Amazon ElastiCache Serverless 是一個完全托管的、無服務器的 Memcached 和 Redis 緩存服務。
- 無需管理基礎設施:ElastiCache Serverless 會自動為您創建和管理 Memcached 或 Redis 緩存實例。
- 按需付費:您只需為使用的資源付費,無需預付費或擔心容量規劃。
- 彈性伸縮:ElastiCache Serverless 會根據您的需求自動縮放您的緩存實例,以確保滿足您的性能要求。
通過Amazon Elasticache Serverless,我們不再需要在緩存數據庫的規劃上做過多考慮,同時也不需要花費過多的時間進行等待。總的來看ElastiCache Serverless 是 Memcached 和 Redis 緩存的一種可靠、高效、經濟的解決方案