javascript
微服务 前台调用后台的慢的原因_20年IT农民工分享SpringCloud微服务架构实战文档...
前言
越來越多的企業使用 SpringCloud 實現微服務架構設計。我們可以看到這樣一種現象:不管是全新開發,還是系統重構,大家似乎都在爭先恐后地使用微服務。對于一個Java開發人員來說,學習微服務相關知識大有裨益。
本文將從架構設計、程序開發和運維部署三個層面,深入淺出地介紹如何開發一個大型電商平臺,希望能夠讓大家學到自己想要學習的知識,不斷提升自己的技術深度和廣度,也希望能夠得到大家的喜歡!!
目錄
主要內容
第1章微服務架構與Spring Cloud;本章介紹了微服務架構的來龍去脈,說明了基于微服務的設計和開發,已經得到越來越多的企業和個人的認可,而以微服務架構為主流的技術也已迅速發展起來。
SpringCloud ,因為其豐富的工具套件、全面的設計,以及很好的兼容性,使它成為眾多開發人員喜歡和熱愛的一種開發工具,所以也將在更大的范圍中流行起來。
所以,作為一個 Java 開發者,學習和掌握 Spring Cloud 的開發方法,不僅僅是一種“時尚”,更有可能成為一項優秀的看家本領。
朋友們,讓我們一起努力吧,一起來學習 Spring Cloud !
第2章高并發微服務架構設計;微服務架構設計風格本身就是一種高并發的機制。依靠云服務環境,我們可以把微服務使用的基礎資源,通過自動化基礎設施建設,提供成一種可伸縮、高并發、高可用的環境。同時,通過使用 Spring Cloud 工具套件和第三方庫,充分保證微服務的高度可擴展性。不管是哪一種架構設計,系統的穩定性、健壯性和可靠性都缺一不可。
第3章大型電商平臺設計實例;本章使用微服務架構設計的方法,構建了一個大型的電商服務應用平臺。這個平臺大體上由提供接口服務的 RESTAPI 微服務和提供人機交互操作界面的 WebUI 微服務兩部分組成,并在此基礎上,構建了商家管理后臺、運營商管理后臺和移動商城前臺。
在后續章節中,我們將詳細介紹各個實例項目的開發方法,以及相關微服務應用的使用演示。
第4章開發環境準備;本章我們為進行 Spring Cloud 的開發做了一些開發環境的準備工作和說明,并且使用 IDEA開發工具創建了第 pring Cloud 項目 。雖然這個項目很簡單,但作為 個入門的指引己經足夠了 在后續的章節中,我 將在這個項目的 礎上, 添加更加復雜的設計和開發。
第5章微服務治理;本章首先講述了注冊中心的創建,以及做服務的注冊與配置。然后,以注冊中 為基礎,通過健康監控、服務告警、斷路器儀表盤和鏈路跟蹤等功能的實施,說明如何對微服務進行有效監控。同時,結合日志分析平臺的使用,對所有運行的微服務應用進行全面而有效的泊理。
后續的微服務的開發和實施將在這個微服務治理環境的基礎上進行,而涉及有關服務治理的引用和配置將不再做特別說明
第6章類目管理微服務開發;本章介紹了電商平臺的類目管理接口和 Web 類目管理后臺兩個微服務的開發實例,通過這個項目的開發和演示,我們清楚了微服務之間快速通信和相互調用的方法。在類目管理接口開發中,我們通過 Spring Data JPA 開發工具,了解了 DDD 開發方法在 Spring 開發框架中的工作原理和實現方法。通過類目管理接口的實現,我們將有狀態的數據訪問行為,轉變成沒有狀態的接口服務。
下一章,我們將介紹另一種數據庫開發工具 MyBa巾,體驗不同的數據庫開發工具在 Spring項目工程中的應用方法。
第7章庫存管理與分布式文件系統;本章介紹了庫存管理的微服務接口和一個相關的 Web 應用微服務的開發。在這個項目的開發過程中,我們使用了半自動的數據庫開發框架 MyBatis ,體驗了與使用 JPA 不同的開發實踐。在生產應用中,讀者可以根據實際情況選擇使用。
同時,本章的 Web 應用開發也演示了使用分布式文件系統的方法,不管是使用 DFS ,還是使用 oss ,其設計思路和實現方法基本一致,所以我們只需掌握一種開發方法,就能夠在實際應用中應用自如。
第8章海量訂單系統微服務開發;本章我們使用 MongoDB 開發了一個可以支持海量數據的訂單系統,并且使用 Spring5的反應式編程設計,實現了支持非阻塞異步調用的高并發微服務訂單接口,所以這是一個高性能的訂單微服務應用系統。有關反應式編程設計,由于其異步調用的特性,使得其只能支持無事務管理的數據庫設計。而對于微服務設計來說,其本身就是一種分布式的應用,所以有關事務管理的設計,只能使用分布式的事務管理來實現。在本章訂單狀態變更所引起的事務管理實例中,我們使用消息隊列實現了分布式事務管理中數據最終一致性的設計。
第9章移動商城的設計和開發;本章使用前面章節設計的各種接口服務,設計并開發了 個移動端的商城。在這個設計中,演示了微服務接口的調用方法,同時,針對移動設備進行了 HS 的單頁設計實踐。在整個開發過程中,讀者可以更加深刻地體會到微服務之間的接口調用是非常方便的 而使用 pringCloud 工具套件進行移動端應用的開發,同樣是輕 級且令人感到愉快的。
第10章商家管理后臺與SSO設計;本章通過商家權限體系和 sso 設計,構造了一個安全可靠的商家管理后臺。在商家管理后臺中,商家用戶通過統一權限管理,可以使用在分布式環境中任何其他已經接入 sso 的微服務應用。商家管理后臺設計以一種更加完善的方式,將各個分散開發的微服務應用組合成一個功能豐富的整體,充分體現了微服務架構設計的強大優勢。
其中,商家權限體系設計,以訪問資源為基礎建立了三級菜單體系,并通過角色與資源的關系,將用戶權限與菜單組成一個有機的整體。
商家的角色及其菜單的管理配置,必須由平臺運營方進行操作。在 11 章的平臺管理后臺的開發中,將實現管理商家的權限配置的功能。
第11章平臺管理后臺與商家菜單資源管理;本章主要實現了平臺管理后臺的訪問控制設計、商家注冊及其權限,以及菜單的配置和管理等方面的功能。其中,商家注冊及其權限、菜單的配置和管理,都是通過調用商家服務的ST API 微服務實現的。實際上,在我們的微服務架構設計中, Web 微服務的開發都是通過調用 RestAPI 微服務實現的,當需要在平臺管理后臺中對電商平臺的各個服務功能進行管理時,都可以通過調用各種微服務接口來實現。
有關微服務的開發至此告一段落,從第 12 章開始,我們將從運維的角度探討微服務的部署及微服務運行環境的構建等方面的內容。
第12章云服務環境與Docker部署工具;本章介紹了微服務應用發布環境的組建,以及基于 Docker 管理工具的應用部署的管理方法。從云服務環境的組建和應用部署的方法來看,我們可以有很多選擇,前提是必須保證微服務運行環境 安全可靠性,然后再根據系統平臺的規模選擇 種切合實際的部署工具。一般來說,對于 個小型系統,使用 docker-compose 工具就可以了;如果是 個大型系統平臺,則建議使用 ubemetes 管理工具。
第13章可擴展分布式數據庫集群的搭建;本章介紹了在 CentOS 中安裝 MySQL 的簡易方法,并使用主從設計構建了分布式的數據庫集群,搭建了一個高性能、可擴展的數據庫集群體系,同時,使用分組的方式實現了高可用集群的設計。在數據庫訪問設計中,使用 OneProxy 中間件實現了可配置的讀寫分離調用方法,并結合分庫分表功能提高了數據庫的訪問效率。最后,使用雙機熱備設計,為數據庫代理中間件及其集群的使用提供更加安全可靠的有力保障。
通過本章對數據庫集群設計的介紹,讀者可深入地理解數據庫集群的工作原理。如果使用云服務的數據庫,則建議使用云服務供應商提供的分布式數據庫,這樣可以使性價比更高。
第14章高可用分布式文件系統的組建;本章使用開源的 FastDFS 搭建了一個高可用的分布式文件系統,并通過 Nginx 為文件的訪問設置了負載均衡服務,從而為微服務應用提供一個高性能的文件服務器。
在完成安裝并測試正常之后,即可在庫存管理項目中配置分布式文件系統的鏈接地址,使用微服務與分布式文件系統進行聯調。
第15章使用Jenkins實現自動化構建;本章介紹了如何使用自動化構建工具 Jenkins 設計持續交付的工作流程,并以一個簡單的實例演示了自動部署的實現過程。在該實例中,我們使用 Git 進行代碼拉取、使用 Maven 進行程序打包、使用 Docker 進行鏡像的創建和應用的更新與部署。從這個實例中可以看出 Jenkins強大的可擴展性。
通過對本章的學習,相信讀者能夠根據實際情況,建立 個完善的自動化基礎設施,從而實現在微服務發布中集成測試和持續部署的自動化構建流程。
這份【SpringCloud微服務架構實戰】文檔共有330頁,需要完整版的朋友,可以轉發此文關注小編,私信小編【技術】二字來獲取!!
總結
本文不僅詳細介紹了如何使用 Spring Cloud 工具套件進行微服務應用的開發,還介紹了如何與 ConsulDocker Kubemetes Jenkins 等結合使用 將開發的微服務應用以可擴展的方式在云端發布。
通過對本文的系統學習,讀者可快速將所掌握的知識應用于實際工作中,提高自身的職業競爭力
本文的讀者對象為廣大 Java 開發者、系統架構師和系統運維人員。本文特別適合使用過 Spring 開源框架或具有一定 Spring 框架基礎知識的讀者閱讀。
總結
以上是生活随笔為你收集整理的微服务 前台调用后台的慢的原因_20年IT农民工分享SpringCloud微服务架构实战文档...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 等高线转dem
- 下一篇: 性能飙升50% 画质还更好!AMD FS