




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、分布式+微服務架構隨著互聯網技術的飛速發展,目前全球超過半數以上的人口在使用互聯網,人們的生活、工作隨著互聯網的發展,發生了翻天覆地的變化。我們的工作隨著越來越多的用戶參與,業務場景越來越復雜,云計算、大數據、區塊鏈、人工智能的飛速發展對系統架構也提出了越來越高的要求,我們原來使用的單體架構已經不能滿足工作場景需求。此時Martin Fowler 提出來了微服務架構,一個分布式系統架構,按業務領域劃分為獨立的服務單元,滿足越來越復雜的業務需求,并且可以自動化運維、容錯、快速演進。微服務是“互聯網 +時代”催生的一種設計思想和理念。一、技術架構的前生今世1、單體架構單體架構將系統中的所有功能、模
2、塊耦合在一個應用中的架構方式。如MVO構,表示層(View) +中間業務邏輯層(Controller ) +數據庫層(Model)。代表技術Spring mvc 、 Struts2 等。該架構具有以下特點:1.1 、復雜性高、項目包含的模塊非常多、模塊的邊界模糊、 依賴關系不清晰,隨著業務復雜度的提高,代碼的可維護性、擴展性和可讀性在降低。1.2 、可靠性差、某個模塊的問題(內存溢出)可能會導致整個系統的崩潰。1.3 、擴展能力受限、該構架只能作為一個整體進行擴 展,無法根據業務模塊的需要進行伸縮。1.4 、易運維、項目可以直接打成 war 包發布。2、SO諫構(面向服務)SO臊構屬于企業領域
3、,將原來的單體架構按照功能分為不同的子系統,然后再由各個子系統依賴服務中間件來調用所需服務。服務之間采用 webservice 、 rpc 等方式進行通信,SO砍部分概念是基于企業服務總線(ESB的,即企業 服務總線作為服務之間通信的橋梁。該架構具有以下特點:2.1 、重用性、重復的功能抽取為服務,提高開發效率,提高系統的可重用性。2.2 、針對不同服務的特點制定集群及優化方案。2.3 、服務的顆粒度大。2.4 、SOA雖調ES雎業服務總線。為了集成不同系統, 不同協議的服務,ESB做了消息的轉換解釋與路由等工作, 讓不同的服務互聯互通。3、微服務架構應用程序劃分成一組小的服務,每個服務都圍繞
4、著具體業務進行構建,每個服務運行獨立的自己的進程中,能夠被獨立地部署到生產、測試環境。服務之間互相協調、互相配合,服務之間采用輕量級的通信機制互相溝通( 通信是基于HTTP的RESTful API)為用戶提供最終價值。與 SA以構相比,不存在一個企業服務總線調度,而是各個服務之間自主 發現和調用其它服務,且可以是跨終端跨平臺的調用。SpringCloud提供了一站式微服務解決方案:打loT二 MobileBrowserServiceregistryMicraservicesDistributed1 tracing二、開發框架我司目前采用前后端分離開發框架、前端采用Vue框架,后端采用Sprin
5、gCloud微服務架構。三、框架名詞解釋說明3.1、 前后端分離、前端靜態代碼部署在Apache Server服務器與后端服務只進行數據交互,所有的頁面展現、切換 都在前端完成(jsp運行在web服務器端),響應時間短用 戶體驗更好。前端采用 Vue框架,Vue是一個輕量級、高性 能構建用戶界面的漸進式框架,具有數據雙向綁定(MWM、組件化等特點;后端采用 SpringCloud微服務架 構進行開發,每個微服務單獨部署、獨立運行對外提供接 口。前后端開發按照接口文檔約定各自為戰。3.2、 Nginx、反向代理功能,客戶不想讓外部人員看自 己的內部,就需要網關來進行反向路由,即將外部請求轉換 成
6、內部具體服務調用。負載均衡功能、采用權重等策略對 Gateway集群做負載均衡。3.3、 Eureka、 Eureka Server 服務注冊功能的服務器, 它是服務注冊中心。系統中的其他微服務使用 Eureka 的客戶端( Eureka Client )注冊、連接到 Eureka Server ,并維持心跳連接??梢酝ㄟ^Eureka Server 來監控系統中各個微服務是否正常運行。服務消費方從Eureka Server 獲取注冊服務列表,從而能夠消費服務,服務消費方可以設置負載均衡,默認策略為輪詢。3.4、 Gateway、我司采用Zuul網關、該網關有路由和過濾兩個功能。路由功能實現外部
7、訪問統一入口,負責將外部請求轉發到具體的微服務實例。過濾功能指對請求的處理過程進行干預, 實現請求校驗(登錄驗證)等功能。3.5、 AuthService、認證中心。在 Gateway登錄驗證未通過的請求,必須去認證中心采用用戶名、密碼方式進行登錄認證。認證通過后 AuthService 會給客戶頒發令牌,再次訪問時客戶帶著令牌訪問即可。3.6、 、 Sentinel 、流量監控及服務熔斷、降級。應用流量的QPS(每秒請求數量)或并發線程數等指標達到指定閾值時對流量進行控制,避免系統被瞬時的流量高峰沖垮,保障應用高可用性。如果調用鏈路中的某個資源不穩定,最終會導致請求發生堆積。 Sentine
8、l 熔斷降級會在調用鏈路中某個資源出現不穩定狀態時(例如調用超時或異常比例升高),對這個資源的調用進行限制,讓請求快速失敗,避免影響到其它的資源而導致級聯錯誤。當資源被降級后,在接下來的降級時間窗口之內,對該資源的訪問都自動熔斷。熔斷后可以采用消息隊列方式對業務數據進行補償。四、架構特點4.1 、以使用服務的方式來實現組件化。每個服務獨立構建、部署(避免了對整個系統的一個小地方的改動,都要對整個系統重新構建,部署的問題)、獨立運行、可以獨立數據庫、針對服務按需收縮,根據需求實現細粒度的擴展。(例如系統中的某個微服務遇到了瓶頸,可以結合這個微服務的業務特點,增加內存、升級CPLK者增加節點)4.
9、2 、單個微服務易于開發和維護(擅長的人干擅長的事),服務內高內聚、服務間低耦合。4.3 、持續交付、統一監控。4.5 、做產品不是做項目,基于“誰構建,誰運行”的理念,與做項目的核心區別在于,做完了項目就交付給運維去運維,然而做產品意味著,開發要在產品的整個生命周期中承擔一些運維職責??梢栽鲞M開發、運維、客戶之間的交流溝通。4.6 、發開成本高、測試的復雜性(系統集成測試)、運維的復雜性。4.7 、多服務、跨數據庫訪問的數據一致性。4.8 、服務間通信成本。4.9 、系統設計層面如何服務拆分達到最優效果。五、DevOpsDevOps是一種軟件開發方法,涉及軟件在整個開發生命 周期中的持續開發,持續測試,持續集成,持續部署和持續 監控。用于促進開發、運營和質量保障(QA部門之間的 溝通、協作與整合;強調共同對業務目標負責,以實現用戶 價值作為唯一的評
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年教師資格證面試結構化面試真題卷初中歷史
- 2025年西式面點師實操考核試卷(西式點心烘焙技巧)
- 2025年攝影師職業技能鑒定筆試真題及解析試卷
- 2025年茶藝師高級技能考核試卷:茶藝師茶藝表演編導與編排試題
- 2025年電工中級職業技能考試真題卷-電力系統故障診斷與處理技巧試題
- 肉類蔬菜應急管理制度
- 科學智能績效管理制度
- 工廠小食堂管理制度
- 庫房hse管理制度
- 藥品庫房來貨管理制度
- 2025屆黃岡市重點中學八下數學期末統考試題含解析
- 2025年英語四級考試模擬試卷及答案
- 跨學科視域下道德與法治與心理健康教育融合的探究
- 智能在線問卷調查系統開發合同
- 2025公需課《人工智能賦能制造業高質量發展》試題及答案
- 汽車4S店展廳布局設計
- 旅游公司的財務崗位職責
- 《結腸憩室》課件
- 2025年廣東省珠海市香洲區5月中考模擬化學試題(含答案)
- 2025年江蘇省無錫市惠山區中考一模英語試題(含答案)
- 2024-2025湘科版小學科學五年級下冊期末考試卷附答案(三套)
評論
0/150
提交評論