把一個大型的單個應用程式和服務拆分為數個甚至數十個的支援微服務,這就是微服務架構的架構概念,通過將功能分解到各個離散的服務中以實現對解決方案的解耦。
關於微服務相關的學習資料不多,而 GitHub 上的開源專案可以作為你微服務之旅的第一站。本文推薦 7 個非常火的微服務專案,從入門到實戰,這篇文章值得收藏。
01. 不二之選
第一個推薦的專案是高贊教程:PiggyMetrics ,這個開源專案是你開啟微服務之旅的不二之選。
PiggyMetrics是一個很全面的微服務實踐入門的例項集,它可以指導開發者使用 Spring Boot、Spring Cloud 和 Docker 搭建微服務架構。
該開源專案有一個典型的微服務實現案例 - 個人理財微服務系統。採用Spring Boot/Spring Cloud等技術棧,來實現微服務的開發、構建和治理,麻雀雖小五臟俱全。
在這個案例中,你可以全面地瞭解到微服務的註冊發現、配置中心、熔斷、路由、負載均衡、註解式Http客戶端、認證鑑權和全鏈追蹤等技術,同時還有日誌、監控、度量指標等運維指標統計分析。
PiggyMetrics 被分解為三個核心微服務,它們都是可獨立部署的應用程式。如果你具備了微服務的基礎知識,沒有實戰經驗,從這個專案開始吧。
地址:https://github.com/sqshq/piggymetrics
複製程式碼
02. 分散式電商專案
基於 Spring Cloud 的分散式電商專案,該專案使用分庫設計方案,不同的模組依賴不同的資料庫例項。後臺登陸採用 Oauth 2.0 授權,支援密碼登陸、授權碼登陸、簡訊驗證碼登陸、註冊中心與配置中心已使用 alibaba naco。
目標打造頂級多模組,高可用,高擴充套件電商專案。
技術棧基於 Spring Boot、Spring Cloud、Spring Oauth2 和 Spring Cloud Netflix 等框架,可以藉助該專案學習Spring Cloud 技術棧,作為練手專案。
地址:https://github.com/SiGuiyang/spring-cloud-shop
複製程式碼
複製程式碼
03. 輕鬆閱讀微服務專案
輕鬆閱讀是一款圖書閱讀類 APP,基於 Spring Cloud 開發的微服務實戰專案,涉及 SpringCloud-Gateway、Nacos、Hystrix、OpenFeign、Jwt、ElasticSearch 等技術棧的應用。
客戶端:https://github.com/Zealon159/light-reading-cloud-clientapi:https://github.com/Zealon159/light-reading-cloud
複製程式碼
核心架構圖如下:
04. SpringBlade 微服務開發平臺
SpringBlade 採用前後端分離的模式,前端基於 React、Ant Design、Vue、Element-UI。後端採用 Spring Cloud 全家桶,註冊中心、配置中心選型 Nacos,簡封裝了多租戶底層,用更少的程式碼換來擴充性更強的 SaaS 多租戶系統。
地址:https://gitee.com/smallc/SpringBlade
複製程式碼
05. Cloud-Platform
Cloud-Platform是國內首個基於Spring Cloud
微服務
化開發平臺
,具有統一授權、認證後臺管理系統,其中包含具備使用者管理、資源許可權管理、閘道器API 管理等多個模組,支援多業務系統並行開發,可以作為後端服務的開發腳手架。程式碼簡潔,架構清晰,適合學習和直接專案中使用。
核心技術採用Spring Boot 2.4.1
、Spring Cloud (2020.0.0)
以及Spring Cloud Alibaba 2.2.4
相關核心元件,採用Nacos
註冊和配置中心,整合流量衛兵Sentinel
,前端採用vue-element-admin
元件,Elastic Search
自行整合。
地址:https://gitee.com/geek_qi/cloud-platform
複製程式碼
06. 網約車專案
看圖吧。
地址:https://github.com/OiPunk/OnlineTaxi
複製程式碼
07. 網際網路雲快速開發框架
一款免費開源的 Java 網際網路雲快速開發平臺,微服務分散式程式碼生成的敏捷開發系統架構。專案程式碼簡潔,註釋豐富,上手容易,還同時集中分散式、分散式事務、微服務,同時包含許多基礎模組和監控、服務模組。
被評為 2018 年度最受歡迎中國開源軟體專案。
地址:https://gitee.com/JeeHuangBingGui/jeeSpringCloud
複製程式碼