《【普元】如何構建下一代分布式架構系統(30頁).pptx》由會員分享,可在線閱讀,更多相關《【普元】如何構建下一代分布式架構系統(30頁).pptx(30頁珍藏版)》請在三個皮匠報告上搜索。
1、如何構建下一代分布式系統劉相,平臺 讓創新無限,IT 架構演進趨勢微服務下關鍵技術剖析平臺架構與展望,數字商業演進路線圖,在系統架構的自然演進中,誕生了微服務,在系統架構的自然演進中,逐漸要求持續變更(DevOps),下一代分布式平臺,DevOps平臺,微服務平臺,容器平臺,開發平臺,實現微服務架構,解決巨石問題,推動“大平臺,小應用”,增加系統彈性和靈活性,實現軟件交付過程自動化、流程化、協作化,提升交付質量和效率,一切皆資源,服務圍繞資源按業務能力劃分服務和組織自管理、自服務,自助與自動,是提升企業運營效率的一大途徑以BAPO為指導,實現PDCA的良性循環,以Docker為首的容器技術棧,
2、讓古老的LXC產生了新生命力屏蔽底層資源差異性,從上層支撐服務的可靠與可用,下一代分布式平臺定位,微服務,微服務,歷史系統,基礎平臺(IaaS、CaaS),DevOps,歷史系統,微服務平臺,原有平臺,微服務不僅僅只有RPC框架,數據同步,分布式事務,上下文,交易編排,統一門戶,一體化安全,服務 網關 API Gateway,代碼倉庫,介質倉庫,持續集成交付,部署包倉庫,自動測試平臺,邊界類,核心類,微服務開發設計器,服務擋板,微服務運行容器,微服務平臺,云平臺(PaaS/CaaS/IaaS),運行時配置管理,統一日志收集分析展現,服務注冊中心,容器狀態管理,資源監控,微服務監控治理,適配類,
3、開發&集成,微服務運行的容器:原生開發體驗,享受分布式的能力,微服務容器,Svc.Register服務注冊,注冊中心,Inner API,微服務容器,Inner API,Svc.Find服務發現,安全 流控 權限,微服務容器,Inner API,Public IP,安全 流控 權限,安全 流控 權限,微服務容器(前端),html,CSS,js,REST,REST,REST,REST,REST,REST,微服務容器邏輯視圖,業務邏輯,限流&降級,負載均衡,Doc,服務注冊與發現,統一異常處理,日志,安全&訪問控制,序列化,微服務容器,REST,REST,容錯&熔斷,Mock,健康檢查,基礎能力,
4、RPC,核心能力,如何在不確定的環境中交付確定的服務?,外部系統,網絡中斷,服務不可用,服務超時,事務完整性,并發請求,超量請求,請求積壓,如何在不確定的環境中交付確定的服務?,分段事件驅動(SEDA)模式,微服務的熔斷與降級,Closed,進:失敗計數器歸0過程:每次失敗調用,計數器+1出:/,Open,進:啟動時鐘過程:持續禁止訪問出:/,Half-Open,進:成功計數器歸0過程:每次成功調動,計數器+1出:/,成功調用次數達到了給定時間的閾值,失敗調用次數達到了給定時間的閾值,達到超時時間,調用失敗,熔斷:與股市熔斷概念一致,當調用下游服務出現問題時,需要自行進行智能處理,降級:由于整
5、體資源出現瓶頸時,為保證核心服務的可用性,將低等級服務暫停,設計思路,概念,關鍵點,上游服務,服務A,服務B,服務C,線程池A,線程池B,線程池C,微服務的升級與回退,V1 Rep:4,用Replication結合rollingupdate的方式來做灰度,難點在于流量的控制和數據兼容,Start V2 Rep,V1 Rep:2,V2 Rep:2,V2 Rep:4,針對于數據灰度的兩種方式:類似現在很多傳統行業的方案,只可以增加字段,不可以刪除資源從數據訪問層中間件著手,往兩個庫同時差異寫(這個有些互聯網公司是這樣的),流量控制:業務解決可通過APIGateway實現,微服務給容器技術的風靡加了
6、一把火,微服務架構,靈活部署,輕量可伸縮,動態分布式,Server,Host OS,Bins/libs,Bins/libs,App a,App b,App c,App d,鏡像管理,跨系統,AUFS、介質小,啟???Link、環境變量注入,容器擴大了微服務的應用邊界,J2EE與容器,Java EE是一個標準化的交付形態、一個通用的運行環境和基礎架構,并由此衍生出一個完整的IT產業鏈容器也是一個標準化的交付形態、一個通用的運行環境和基礎架構,并即將由此衍生出一個完整的IT產業鏈,嚴重依賴于應用服務器,但是應用服務器存在如下問題:資源隔離差:無法對CPU、內存、文件系統、IO進行隔離依賴管理差:內
7、部經常jar版本沖突,外部只能管管數據庫和Web服務器與應用緊耦合:需要為應用做針對性的配置和優化CI/CD不友好:體積龐大,配置復雜而容器的到來完美的解決了這些問題!,J2EE的劣勢,以容器技術,提供標準化服務組件的運行環境,支撐架構收斂,最精簡的操作系統,統一的JVM,一次性的運行容器,標準化、一體化的高可用集群模式,交付過程與最終環境的一致性保證,Alpine(5MB)vs.Centos(100+MB),Oracle JDK 1.8 update 102,Oracle JDK 1.7 update 79,MicroService Framework,With SLB(Nginx),Wit
8、hout SLB(Nginx),Dev,Test*,UAT*,Prod*,屏蔽基礎設施差異性:容器、VM,Compute,Storage,Network,資源池,VM,Container,1,*,NFS,1,*,Local,VLAN,1,*,VxLAN,Service,Process,Pod,Replication,業務運行,1,1,1,1,1,*,*,*,dependency,*,dependency,1,產品定義,Product,Component,Spec,dependency,1,1,*,*,*,1,1,*,Namespace,1,1,*,*,容器平臺需要解決:差異化基礎設施上的服務部
9、署,ComputeNode,ComputeNode,ComputeNode,MasterNode,StorageNode,StorageNode,StorageNode,Storage Cluster,B1,p2,p1,p3,B2,p5,p4,p6,B2,p4,p5,p6,B3,p8,p7,BN,py,px,pz,Service,Service_B1,Service_B2,Service_B3,Service_BN,StorageNode,Replication,SController,BController,RController,pController,Net,ServiceIP,Host
10、IP,processIP,StorageIP,Namespace,支撐微服務的伸縮與漂移,監控,調度,伸縮,漂移,系統:獲取CPU、內存等即時信息業務:配置流量、連接數等,健康:獲取Pod、Service等運行信息合理:獲取機器負載、Pod特征等信息,動態調整Replication數,并將信息更新到管理節點,動態調整Pod所在的計算節點,并將信息更新到管理節點,原則:Result=func1*weight1+func2*weight2+funcn*weightn,示例:檢查符合的計算節點資源余量配置標簽檢查最優的計算節點資源均衡資源最多,DevOps:是一個流程梳理與工具自動化的過程,DevO
11、ps:旨在解決全生命周期的問題;注重度量體系,規劃產品,在線,離線,項目組建,組件設計,Clone庫,配置,提交代碼,編譯,打包,部署,發布市場,運營監控,定義需求,驅動線:觸發下游,反饋線:優化上游,IT生產流水線:全面降低集成與交付的協作成本,Dev,Test,Ops,DevOps Portal 看板,開發,測試,部署,上線,IAM身份,SPM產品,SRM資源,SEM環境,CI編譯,BPR介倉,DPR部倉,PM項目,VCS源碼,預發,編譯,DevOps平臺一鍵發布(支持灰度、金絲雀),負載均衡器,容器資源池,編譯,App=PortalRelease=1.1,鏡像,App=PortalRel
12、ease=1.1,Env=Prod,App=Portal,發布,容器Env=Prod,App=PortalRelease=1.0,容器Env=Prod,容器Env=Prod,容器Env=Prod,容器Env=Prod,App=PortalRelease=1.1,容器Env=Canary,容器Env=Pre,容器Env=Pre,App=PortalRelease=1.0,App=PortalRelease=1.1,容器Env=Prod,App=PortalRelease=1.1,容器Env=Prod,App=PortalRelease=1.1,App=PortalRelease=1.1,App=
13、PortalRelease=1.1,App=PortalRelease=1.1,DevOps平臺開發自助發布環境自動開通應用可靠,代碼,App=PortalGit,微服務平臺運行架構圖(支撐雙模運行),REST,消息中心,REST,服務發現,元數據服務,原有系統集成,遙測服務,軟件資產,自動化服務,接入服務,構建自動化,部署自動化,平臺自動化,測試自動化,協作服務,ESB,監控,普元數字化企業云平臺 The Platform 架構,容器&基礎設施,微服務,DevOps,Application PaaS,BPM PaaS,Integration PaaS,BigData PaaS,計算,網絡,存
14、儲,容器,鏡像,倉庫,API網關,服務路由,服務發現,服務注冊,自部署,資源適配,配額管理,環境管理,資源監控,資源編排,日志,身份認證,項目管理,軟件產品管理,軟件發布管理,軟件環境管理,介質包倉庫,部署包倉庫,版本控制系統,持續集成,流程編排,通訊使能BPM,移動應用,Web應用,分布式數據處理,數據展現,數據質量,元數據,作業調度,事件總線,應用生命周期管理,React風格,Redis緩存,復雜事件處理,對象存儲,服務總線,消息中心,社交BPM,流程梳理,移動BPM,業務活動監控,服務容器,服務配置,Web容器,負載,數據應用,質量基線反饋,統一監控中心,知識庫,關系數據庫,服務性能監控,獨立進程應用,文件,元數據,微服務架構支撐業務靈活性的問題,但同時帶來了復雜度;需要微服務平臺簡化開發過程;容器是下一代的應用發布和管理工具,基于容器會衍生出下一代的應用服務器(J2EE服務器已死);DevOps的目標是加速IT的精益運營,提高IT交付效率,最終形成IT交付的閉環。,總結,InsideOut 普元開放式研發計劃,個人二維碼,云計算產品開放式研發,開放內容,開放形式,