概述
隨着業務不斷創新,大型的單個應用和服務會被拆分爲數個甚至數十個微服務,微服務架構已經被廣泛應用。微服務的好處在於快速迭代,迭代過程保障線上流量不受損。依賴開源產品缺少專業運維工具,常常需要投入較大的運維人力和成本。
本實踐基於雲原生應用產品提供微服務註冊配置中心、微服務治理和雲原生網關等一系列高性能和高可用的企業級雲服務能力。
場景描述
針對已經啓用微服務架構或者準備改造爲微服務架構的用戶,通過實踐熟悉雲上基於雲原生產品的微服務架構實踐,熟悉服務註冊和網關路由配置、全鏈路灰度發佈、無損上下線、限流降級能力驗證等。
方案架構
方案優勢
本實踐通過雲速搭 CADT,一鍵完成基礎環境的搭建和部署,提供可視化部署方案和 step by step 實操指導:
- 高可靠: 支持多可用區容災,具備完善的流量防護、健康檢測、自動恢復等能力,優化大量可用性痛點,保證引擎持久穩定運行。
- 低成本: 節省用戶自建網關、註冊配置中心、微服務治理體系的人力成本,高性能及高集成度可進一步降低資源成本。
- 易用性: 100% 兼容開源社區產品 Nacos、ZooKeeper 和 Eureka;應用代碼、配置、鏡像無須修改即可接入微服務治理,體驗 MSE 服務治理能力。
- 高度集成: 與阿里雲產品體系無縫對接。例如容器服務、日誌服務、應用監控、Web 應用防火牆等,爲您提供一站式的微服務解決方案。
產品介紹
專有網絡(Virtual Private Cloud,簡稱 VPC) 幫助您基於阿里雲構建一個邏輯隔離的雲上數據中心。專有網絡由邏輯網絡設備(如虛擬路由器,虛擬交換機)組成,可以通過專線/VPN 等連接方式與傳統數據中心組成一個按需定製的網絡環境,實現應用的平滑遷移上雲。
微服務引擎 MSE(Microservice Engine) 是面向業界主流開源微服務項目, 提供註冊配置中心和分佈式協調(原生支持 Nacos/ZooKeeper/Eureka)、雲原生網關(原生支持 Higress/Nginx/Envoy,遵循 Ingress 標準)、微服務治理和分佈式任務調度能力(兼容開源 XXL-JOB/ElasticJob/K8sJob/Spring Schedule)。
容器服務 Kubernetes 版(簡稱 ACK) 提供高性能且可伸縮的容器應用管理能力,支持企業級容器化應用的全生命週期管理。在 2021 年,ACK 成爲國內唯一連續三年入選 Gartner 公共雲容器報告的產品,同時在 2022 年成爲國內唯一進入 Forrester 領導者象限的產品。ACK 整合了阿里雲的虛擬化、存儲、網絡和安全能力,助力企業高效運行雲端 Kubernetes 容器化應用。
雲消息隊列 MQ(RocketMQ) 是構建分佈式互聯網應用的基礎設施,通過 MQ 實現的松耦合架構設計可以提高系統可用性以及可擴展性,是適用於現代應用的優秀設計方案。MQ 產品生態豐富,多個子產品線聯合打造金融級高可用消息服務以及對物聯網的原生支持,覆蓋金融保險、(新)零售、物聯網、移動互聯網、教育、物流、能源、交通等行業。
彈性公網 IP 是獨立的公網 IP 資源,可與阿里雲專有網絡 VPC 類型的雲服務器 ECS、NAT 網關、ENI 網卡、私網負載均衡 SLB 綁定,並可以動態解綁滿足靈活管理的要求。彈性公網 IP 可爲您在雲上部署的網站提供 Internet 訪問服務。
NAT 網關(NAT Gateway) 提供公網 NAT 和私網 NAT 兩種功能。公網 NAT 網關通過自定義 SNAT、DNAT 規則可爲雲上服務器提供對外公網服務、及主動訪問公網能力;私網 NAT 網關(也即 VPC NAT 網關)可使 VPC 內的 ECS 實例通過私網地址轉換服務,實現 VPC 與 VPC 之間、及 VPC 與線下 IDC 互訪能力。
雲速搭 CADT ( Cloud Architect Design Tools) 是一款爲上雲應用提供自助式雲架構管理的產品,顯著地降低應用雲上管理的難度和時間成本。本產品提供豐富的預製應用架構模板,同時也支持自助拖拽方式定義應用雲上架構,用戶可以方便地對雲上架構方案的成本、部署、運維、回收進行全生命週期的管理。
前置條件
在進行本文操作之前,您需要完成以下準備工作:1)註冊阿里雲賬號,並完成實名認證。您可以登錄阿里雲控制檯,並前往實名認證頁面 (https://account.console.aliyun.com/v2/#/authc/home) 查看是否完成實名認證。
2)購買按量付費資源,阿里雲賬戶餘額需要大於 100 元。考慮到部署後每小時會產生費用,建議賬號內餘額或者代金卷金額大於 200 元。您可以登錄阿里雲控制檯,前往賬戶總覽頁面 (https://usercenter2.aliyun.com/home) 查看賬戶餘額。
操作步驟
-
關鍵技術1.1. 治理趨勢
1.2. 網關選型 -
實踐架構設計
2.1. 架構圖2.2. 核心模塊2.3. 基礎資源環境規劃
- 基礎環境搭建
3.1. 基於模版新建環境
- 雲產品訪問驗證
4.1. 確認資源運行情況4.2. 基礎環境訪問驗證
- 驗證服務註冊與網關路由
5.1. ACK 集羣部署應用5.2. 查看服務註冊情況5.3. mseprovider 驗證5.4. 驗證網關流量轉發5.4.1. 創建服務5.4.2. 創建路由5.4.3. 驗證路由效果
- 全鏈路灰度能力驗證
6.1. ACK 應用接入 MSE 治理中心6.2. ACK 中應用添加灰度標6.3. 實現同步調用全鏈路灰度6.3.1. 設置服務版本6.3.2. 覈對基線版本路由6.3.3. 創建全鏈路灰度泳道組6.3.4. 創建分流泳道6.3.5. 效果演示6.4. 實現異步消息全鏈路灰度6.4.1. 開啓異步消息全鏈路灰度6.4.2. 覈對 MQ 的過濾條件
- 無損上下線驗證
7.1. 無損下線能力驗證7.1.1. 手動關閉無損下線7.1.2. 通過腳本發起請求7.1.3. 流量損失對比驗證7.2. 無損上線能力驗證7.2.1. 配置定時伸縮7.2.2. 配置無損上線7.2.3. 通過腳本發起請求7.2.4. 觀察預熱曲線
- 限流降級驗證
8.1. 升級到企業版8.2. 設置流控規則8.3. 腳本請求和降級效果8.4. 新增熔斷規則和接口8.5. 調整慢調用生效8.6. 熔斷效果展示9. 一鍵釋放雲資源
最佳實踐全部內容,請點擊此處查看。對方案和產品感興趣的朋友,可以加入釘釘羣交流(羣號:31852400)。
往期文章: