《2019年微軟服務開發痛點實踐分享.pdf》由會員分享,可在線閱讀,更多相關《2019年微軟服務開發痛點實踐分享.pdf(21頁珍藏版)》請在三個皮匠報告上搜索。
1、微服務開發痛點實踐分享Apache ServiceComb目錄1.為什么需要微服務轉型2.微服務開發面臨什么挑戰3.微服務開發痛點實踐資源分散應用孤立數據不通架構擴展性差個性化需求激增系統性能差代碼架構腐化部署規模大流量不確定技術多樣性業務上新周期長設備成本高運維難度大多廠商多語言難集成用戶面臨的問題用戶上云從資源云化向應用云化演進Cloud 2.0Cloud 1.0KVMVMXENVM虛擬機資源服務以應用為中心提供能力服務容器化、微服務化開放互通的混合云微服務IOT視頻Kubernetesdocker用戶應用加速上云,依托云化快速向數字化轉型現在到2025年,應用運行于云上應用運行于云上VR
2、/ARIOTNFVDBBig DataVideoHPCVDICRMERPEmailWEB85%30%應用加速云化現金流投入時間成本消耗聚焦核心業務,專業的事交由專業的人去做未來當前應用云化節奏云化節奏商業價值Big dataHPCWebSAP交易系統VideoVR/ARAIIoTOAVASBSS用戶應用上云訴求和方案方案 盡量少的基礎設施運維工作 高資源利用率,真正按需付費 從賣License向賣服務轉型 多租戶部署、隔離和管理 API管理和開放能力 快速上云,對現有系統改動小 自動運維,提高效率 加快應用、特性上線速度1234567應用零改造上云方案應用云中間件套件應用容器化方案應用微服務化
3、方案應用SaaS化改造方案能力開放API網關Serverless函數計算平臺訴求1.IT系統云化2.應用SaaS化3.輕資產敏捷創新微服務是用戶應用上云、全面解耦的基石微服務成為云化時代流行架構微服務不是銀彈挑戰1:如何基于微服務框架高效開發和上線?挑戰2:在不可預期的流量下如何保證業務高可靠運行?挑戰3:在復雜的微服務系統中如何實現問題快速定位與恢復?挑戰4:傳統架構下的遺留系統如何向微服務架構低成本遷移?微服務化后如何面對微服務開發的問題和挑戰易用、開放、多場景、企業級微服務解決方案華為 持續投入與深耕開源軟件領域技術,回饋社區Linux基金會黃金成員Linaro 核心成員Open Com
4、pute 項目Apache基金會白銀成員OpenStack 黃金成員ODL 黃金成員ONOS 初創成員OPNFV 初創成員CNCF 白金成員OCI 初創成員Cloud Foundry 黃金成員Linux基金會白金成員Apache基金會黃金成員Openstack 白金會員ONAP 初創成員LF Networking 初創成員Deep Learning Foundation 初創成員2015201620142012201320172018聚焦解決開源應用中的實際問題積極參與開源項目構建開發者生態使開源軟件更易使用和管理持續優化和推動開源發展ServiceComb應運而生LC3大會正式開源2017.
5、06 ServiceComb2017.11Apache ServiceComb(incubating)2018.10Apache ServieComb捐贈給Apache進入孵化器成為Apache頂級項目首個Apache微服務頂級項目提供一站式的微服務開源解決方案,致力于幫助企業、用戶和開發者將應用輕松微服務化上云,實現對微服務應用的高效運維管理華為開始實踐微服務2012年Huawei MicroServices用戶當下痛點:回饋到ServiceComb企業用戶CTO:跨云、ServiceMesh、etc.2019融合流行生態打造一站式微服務解決方案分布式事務支持TCCSaga生態兼容Servi
6、ce Mesh全面的微服務治理和運維傳統Java應用高性能網絡編程框架標準契約規范非Java應用遺留系統分布式事務 高性能通信框架 開箱即用微服務治理 支持流行開源生態 聯創分布式事務解決方案 支持多語言 支持混合部署,協同治理ServiceComb一站式微服務解決方案以技術為核心助力用戶輕松微服務化上云插件式處理鏈SpringMVC限流負載均衡分布式追蹤動態配置服務注冊服務度量REST邊緣服務熔斷/容錯安全認證分布式事務契約管理微服務腳手架配置治理中心POJOJAX-RSRPC插件式集成開箱即用編程/通信模型分離輕量級邊緣服務純異步內核內置監控治理分布式事務方案標準契約管理ServiceCo
7、mb復雜留給自己,極簡留給用戶 團隊協作困難 問題定位困難 資源利用率低挑戰 跨服務事務一致性 多語言,同時選型 對現有系統改動小 提升性能和硬件利用率 提升定位問題效率收益 靈活擴展、定制 減少基礎設施運維工作量通信模型編程模型運行模型服務化轉型實踐應用在架構設計階段,遵循了服務化設計的方法論,考慮了云化、容器化場景下,在不同維度的擴展,從而達到服務內業務模型高內聚,服務間松耦合的效果應用設計服務化產品運維服務化不僅是架構設計本身實現服務化,在產品運維階段,同樣需要依靠服務化的工具鏈和最佳實踐,來實現高效的服務化運維在提升業務相應能力的總體要求下,通過架構量化分析、持續設計活動、以及架構守護
8、組織,實現服務設計和API設計的持續演進明確業務含義業務職責完整單一顆粒度不宜太小圍繞業務實體操作業務功能穩定為分布式而生與數據存儲方式無關接口標準化與開發語言無關接口穩定高內聚低耦合可度量有價值可定價可注冊可監控業務技術運營遵循業務驅動原則,結合AKF Y模型&DDD驅動服務設計架構演進服務化開箱即用、一鍵式腳手架,降低微服務入門成本Before創建Eclipse工程手工導入依賴包編寫構建腳步編寫部署腳步編寫業務框架代碼編寫測試框架代碼創建微服務工程Eclipse導入微服務工程開始業務編碼開始業務編碼Now配置即使用ServiceComb配置即使能服務治理能力配置即接入服務中心方法一:基于M
9、aven archetype的一鍵式腳手架命令,下載即用方法二:與Spring生態互通的可視化自助式腳手架,配置即用可選“套餐”,一鍵構建微服務開發環境,治理能力即開即用基于服務契約,數據、服務標準化,交付可管可控客戶+集成商開發商A開發商B開發商C開發商D 客戶難管控 開發商數據、服務標準不統一 開發語言、框架、習慣不同劃分微服務(含依賴關系)定義契約(接口和模型)發布契約ServiceComb契約生成框架開發微服務測試微服務客戶+集成商ISV部署微服務契約倉庫微服務運行環境驗收微服務 API描述:統一使用Open API規范 微服務代碼生成:服務端和消費端各自生成API類庫 微服務接口測試
10、:基于API定義生成 微服務API依賴關系:我依賴誰、誰依賴我 API變更管控:API變更郵件通知和審批遵循OpenAPI規范,通過服務契約定義業務模型,通過規范和自動化檢查工具確保交付質量ServiceStage微服務云應用平臺內置服務治理和度量,保障業務的線上運行質量開放接口、融合云平臺組成監控運維方案,解決服務小且多引入的團隊協作、定位困難問題 微服務監控大盤 微服務運行時度量 微服務治理策略 分布式調用鏈 故障診斷(APM)ServiceStage微服務云應用平臺多語言方案,快速集成遺留應用及多語言第三方系統PHP微服務應用PHP微服務應用Java微服務應用Java微服務應用Servi
11、ceComb統一服務治理中心ServiceCombSDKJava應用PHP/應用0侵入改造支持多種開發語言 完美解決Java和多種語言共存場景傳統與新興微服務化方式共存 混合部署、協同治理豐富的監控運維 細化到業務層面的微服務監控運維遺留應用0改造 支持0侵入業務代碼,使用成本低,對原有業務無影響開發方式不變ServiceComb服務注冊中心公眾號WebUIAppGatewayServiceComb SDKMesher(華為商用及開源ServiceMesh方案)基于Java的新開發業務基于PHP/的存量/三方應用融合Mesher開源實現方案,業務0修改平滑接入微服務系統,治理能力互通Servi
12、ceStage微服務云應用平臺多形態異構服務中心融合gossipSyncerSyncerSyncerSyncerSyncerSyncerConsuleServiceCenterEurekaK8SOther DCETCDgossipevent notification between clustersdata stream of service instanceDATACENTER CMicroserviceMicroserviceMicroserviceEurakeRegister DiscoverSyncerRegister Instances of other DC DiscoverMic
13、roserviceMicroserviceMicroserviceServiceCenterRegister DiscoverSyncerRegister Instances of other DC DiscoverMicroserviceMicroserviceMicroserviceServiceCenterRegister DiscoverSyncerRegister Instances of other DC DiscoverGossip ProtocolTCP/UDP/30190RPC Pull&PushTCP/30191DATACENTER ADATACENTER BRPC Pul
14、l&PushTCP/30191RPC Pull&PushTCP/30191數據同步及異構轉化組件,統管服務實例,異構微服務生態無損互通一鍵聯通跨DC/集群服務中心跨集群微服務可視化統一管理典型案例:助力某大學教學管理信息微服務化上云新功能上線月-天彈性伸縮秒級AI新生報到人臉識別教務系統科研系統人事系統獨立煙囪(12個)云容器引擎,微服務引擎,EI服務微服務公共組件數據平臺教學科研人事典型案例:助力華為消費者云服務運營更敏捷應用市場游戲中心視頻閱讀音樂天際通生活服務華為錢包主題HiBoard智能家居瀏覽器華為消費者云服務1.8億+應用市場月活用戶8080萬日增照片4億+用戶 傳統單體架構升級、維護、擴容成本高 架構不統一,有使用SpringCloud、傳統RPC、Servlet等各種架構,維護成本非常高大系統小做,縮短上線周期 快速、小批量交付價值需求 上線周期:月-周/天動態自治降運維成本 彈性伸縮、故障自動遷移、降級熔斷,提升復雜分布式系統運維效率系統性能大幅提升 QPS提升2倍+時延降低45%CPU使用率下降56%全自動化微服務流水線 個人、團隊、項目組三級 從設計到上線,端到端全自動化