Amazon Aurora Serverless v2 正式发布:瞬时扩展应对高要求的工作负载
我們很激動地宣布,適用于Aurora PostgreSQL 和 MySQL 的?Amazon Aurora Serverless v2?現已正式發布。Aurora Serverless是一種可以按需獲取,自動擴展的Amazon Aurora配置,可根據您的應用程序需求動態地擴大或縮小數據庫規模。
Amazon Aurora是一種專門為云構建,可兼容MySQL與PostgreSQL的關系型數據庫。它完全由 Amazon Relational Database Service(RDS)托管,可自動實現硬件預配、數據庫設置、補丁安裝以及備份等繁瑣耗時的管理任務。
Amazon Aurora 的一個重要功能是計算與存儲的分離。借此即可單獨擴展計算或存儲資源。隨著您數據庫中的數據容量逐漸增長,Amazon Aurora 存儲可以自動擴展。例如,您可以借此存儲大量數據,如果有朝一日您決定刪除其中的大部分數據,預配的存儲也將酌情做出調整。
了解更多Amazon Aurora Serverless v2相關的內容:
https://aws.amazon.com/cn/rds/aurora/serverless/
了解更多Amazon Relational Database Service(RDS)相關的內容:
https://aws.amazon.com/cn/rds/
不過很多客戶反饋稱他們希望Amazon Aurora的計算層也能提供相同靈活性,因為大部分數據庫工作負載并非始終需要相同水平的計算能力。隨著時間流逝,工作負載的運轉可能出現峰值、間斷或可預測的高峰。
為了承載此類工作負載,您需要針對預計可能出現的峰值容量需求來預配數據庫。然而這種方法成本太高,畢竟數據庫工作負載很少會以峰值容量來運行。為了預配恰當數量的計算資源,您需要持續監控數據庫容量的使用情況,并在使用量較高時擴展資源。不過這需要專業技能,并且通常還會產生停機時間。
為了解決這個問題,2018年,我們發布了Amazon Aurora Serverless 的第一個版本。自那之后,已經有數千家客戶通過Amazon Aurora Serverless為不頻繁、間斷性的以及不可預測的工作負載提供了一種具備成本效益的選項。
今天,我們隆重宣布下一版Amazon Aurora Serverless已正式發布,該服務可幫助客戶以無服務器方式運行要求更高的工作負載,瞬時實現非中斷性的擴展,精細調整所需容量,并獲得讀取副本、多AZ部署、Amazon Aurora Global Database等附加功能。
本次發布的Aurora Serverless v2提供了最新版本的Amazon Aurora,支持的版本包括:Aurora PostgreSQL可兼容的PostgreSQL 13,以及Aurora MySQL可兼容的MySQL 8.0。
了解更詳細的Amazon Aurora Serverless的第一個版本相關的內容:
https://aws.amazon.com/cn/blogs/aws/aurora-serverless-ga/
Aurora Serverless v2主要功能
Aurora Serverless v2可以幫您將數據庫擴展至每秒幾十萬條事務的規模,并能以具備成本效益的方式管理要求最高的工作負載。它可以通過細化的增量式調整滿足工作負載對容量的需求,這一過程中完全不會打斷連接或事務。此外,您只需要為自己實際使用的容量付費,相比按照峰值負載需求進行預配的做法,成本最多可節約90%。
如果您已經有Amazon Aurora集群,還可在同一個集群中創建Aurora Serverless v2實例。借此即可獲得混合配置的集群,讓預配實例與Aurora Serverless v2實例在同一個集群中共存。
該服務廣泛支持Amazon Aurora的全部功能。例如,您可以創建最多15個Amazon Aurora讀取副本并將其部署到多個可用區中。這些讀取副本中可包含任意數量個Aurora Serverless v2實例,并可將其做為故障轉移目標來提高可用性,或借此對讀取操作進行進一步的擴展。
類似的,對于Global Database,您可以將任意數量的實例指派為Aurora Serverless v2,閑置時只需為最小容量付費。這些位于輔助區域中的實例亦可單獨進行擴展,借此跨區域為不同工作負載提供支持。該服務的完整功能列表請參考Amazon Aurora用戶指南。
了解更詳細的副本信息:
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Replication.html
了解更詳細的關于Global Database的信息:
https://aws.amazon.com/cn/rds/aurora/global-database/
了解更詳細的Amazon Aurora用戶指南:
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
Aurora Serverless v2的擴展原理
Aurora Serverless v2 可通過添加更多CPU和內存資源來擴展底層實例的容量,借此以非中斷性的方式實現瞬間擴展。該技術可直接就地增加或減少底層實例的容量,無需為實現擴展而故障轉移至新實例。
Aurora Serverless v2在容量縮小方面采取了一種更保守的方法。它會循序漸進地逐漸縮小容量,直到達到工作負載所需的容量。縮容速度過快會過早地清空已緩存頁面并減小緩沖池的容量,這可能會對性能產生不利影響。
Aurora Serverless容量以Aurora容量單位(Aurora Capacity Unit,ACU)做為衡量單位。每個ACU包含大約2GB內存、相應的CPU以及網絡資源。使用Aurora Serverless v2時,您的初始容量最小可以使用0.5 ACU,可支持的最大容量為128 ACU。此外,該服務還支持以0.5 ACU為增量進行細化的擴容,借此您的數據庫容量將能與工作負載的實際需求更加契合。
Aurora Serverless v2擴展演練
為了展示Aurora Serverless v2 的實際效果,我們將模擬一次閃電促銷。假設您運行了一個電商網站,并舉辦了一個營銷活動,客戶可以在有限時間內享受到五折的優惠促銷價。您預計在促銷期間網站流量將會激增。
在使用傳統數據庫的情況下,如果這類營銷活動需要定期舉辦,您需要根據預計的峰值負載配置數據庫容量。或者如果只是時不時進行促銷,您也需要在每次促銷峰值期間根據預計的峰值流量重新配置數據庫。這兩種情況下,您都會受制于自己預先估計的容量需求。如果銷量超出預期又會怎樣?如果數據庫無法滿足需求,可能導致服務性能降級。如果營銷活動效果低于預期呢?您等于在為自己不需要的容量花了冤枉錢。
在這個演示中,我們將使用 Aurora Serverless v2 做為事務數據庫。促銷期間,我們會使用 Amazon Lambda 函數調用數據庫并處理電商網站的訂單。該Lambda函數和數據庫位于同一個Amazon Virtual Private Cloud(VPC)中,函數可直接連接至數據庫并執行各種操作。
我們將使用開源的負載測試框架 Artillery 來模擬閃電促銷的流量。該工具可以調用多個 Lambda 函數,進而生產誒那個不同類型的負載。例如,我們可以從小規模負載著手開始,并快速增大負載,以觀察數據庫如何根據工作負載調整其容量。Artillery負載測試運行在同一個VPC 中的Amazon Elastic Compute Cloud(Amazon EC2)實例上。
下列Amazon CloudWatch儀表板展示了訂單數量增加過程中,數據庫容量的變化情況。在該儀表板中,已下達的訂單顯示為藍色線條,數據庫當前容量顯示為橙色線條。
促銷剛開始時,Aurora Serverless v2數據庫的初始容量為 5 ACU,這是配置好的數據庫最小容量。在前幾分鐘里,訂單數量增加,但數據庫容量并未立即增加。預配置的初始數據庫容量已經可以輕松應對此時的負載。
然而在大概15:55時,訂單數量激增至12,000。因此數據庫將容量擴展到14 ACU。數據庫容量可在毫秒級別的時間里瞬間增大,完全可以根據負載規模進行調整。
訂單下達數量在幾秒鐘內保持高位,隨后到15:58開始大幅減少。然而數據庫容量并未完全按照流量的下降趨勢隨之減小。相反,數據庫容量是逐漸降低到5 ACU的。這種保守的縮容方式可避免過早清空緩存頁面進而影響到性能。這種做法不僅可以避免對峰值工作負載產生不必要的延遲,同時保證了緩存和緩沖池不會過早清空。
了解更多關于Amazon Lambda信息:
https://aws.amazon.com/cn/lambda/
了解更多關于Amazon Virtual Private Cloud (Amazon VPC)信息:
https://aws.amazon.com/cn/vpc/
了解更多關于Artillery的信息:
https://www.artillery.io/
了解更多關于Amazon Elastic Compute Cloud(Amazon EC2)的信息:
https://aws.amazon.com/cn/ec2/
在現有Amazon Aurora集群中使用
Aurora Serverless v2
如果您已經在使用Amazon Aurora集群并且希望嘗試Aurora Serverless v2,此時最快速的上手方法是使用混合配置的集群,在其中同時運行Serverless實例和預配置實例。首先,您可以為現有集群添加新的Reader,請注意,需要將Reader實例的類型配置為Serverless v2。
請用您的工作負載測試新添加的Serverless實例。確認實例可以按照預期方式正常工作后,即可開始故障轉移至Serverless實例,整個過程可在30秒內完成。該方式可以用最小程度的停機時間讓您開始使用Aurora Serverless v2。
如何新建Aurora Serverless v2數據庫
若要開始使用Aurora Serverless v2,您需要通過RDS控制臺新建一個數據庫。首先請選擇引擎類型為Amazon Aurora。隨后選擇希望兼容的數據庫引擎:MySQL或PostgreSQL。請打開引擎版本選項下的篩選器并選擇篩選器:Show versions that support Serverless v2。接下來會看到,Available versions下拉菜單中將只顯示能被Aurora Serverless v2支持的選項。
隨后需要設置數據庫。請使用數據庫管理員的用戶名和密碼設置憑據選項。
接下來需要配置數據庫實例。您需要選擇自己想要使用的實例類。借此即可為數據庫實例分配計算、網絡和內存容量。在這里請選擇Serverless。
隨后需要定義容量范圍。Aurora Serverless v2的容量可以在最大容量和最小容量范圍內進行擴大或縮小。您需要在這里為工作負載設置數據庫的最大和最小容量。可指定的最小容量為0.5 ACU,最大容量為128 ACU。有關Aurora Serverless v2容量單位的詳細信息請參考瞬時自動擴展文檔。
接下來需要配置網絡連接,為此請新建一個VPC和安全組,或使用默認設置。最后,請選擇Create database。
數據庫的創建需要幾分鐘時間。當狀態變為Available時,意味著數據庫已創建完成。
數據庫的連接信息會顯示在數據庫頁面上。這里會顯示端點和端口、管理員賬戶的用戶名和密碼,以及連接到新建的Aurora Serverless v2數據庫所需的其他所有信息。
了解更多關于瞬時自動擴展文檔信息:
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.how-it-works.html#aurora-serverless-v2.how-it-works.scaling
立刻體驗!
Aurora Serverless v2目前已可通過US East (Ohio)、US East (N. Virginia)、US West (N. California)、US West (Oregon)、Asia Pacific (Hong Kong)、Asia Pacific (Mumbai)、Asia Pacific (Seoul)、Asia Pacific (Singapore)、Asia Pacific (Sydney)、Asia Pacific (Tokyo)、Canada (Central)、Europe (Frankfurt)、Europe (Ireland)、Europe (London)、Europe (Paris)、Europe (Stockholm)以及South America (S?o Paulo)區域使用。
有關該服務的詳細信息,請訪問 Amazon Aurora Serverless v2產品頁面。
立即訪問Amazon Aurora Serverless v2產品:
https://aws.amazon.com/cn/rds/aurora/serverless/
本篇作者
? ? ? Marcia Villalba
? ? ?亞馬遜云科技
? ? ?資深開發者布道師
她在軟件行業,尤其是應用程序的構建和擴展方面有著15年的從業經驗。她致力于設計能夠充分發揮云計算能力的系統,并積極擁抱DevOps文化。
聽說,點完下面4個按鈕
就不會碰到bug了!
總結
以上是生活随笔為你收集整理的Amazon Aurora Serverless v2 正式发布:瞬时扩展应对高要求的工作负载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java winhex_winhex模版
- 下一篇: “奶茶第一股”会花落“草根品牌”蜜雪冰城