zuihou-admin-cloud很經典的一個微服務開發平台,能夠詳細的看里面的視頻https://www.kancloud.cn/zuihou/zuihou-admin-cloud/1411215


https://www.oschina.net/news/120461/zuihou-admin-boot-2-7-0-released?utm_source=oschina-chrome-extension

 

 

2.7.0版本更新詳情:

  1.  fix: 修復任務啟動后,更新任務觸發時間,不生效  fix:29
  2.  fix: redis持久化策略不影響全局配置
  3.  fix: 修復uid模塊啟動可能報錯的bug
  4.  feat: IgnoreTokenProperties 重命名為 IgnoreProperties,並將原來的配置`ignore.token.url`改成`zuihou.ignore.xxx`
  5.  feat: 廢棄無用的單元測試
  6.  feat: apache的StringUtils替換為hutool的StrUtil
  7.  feat: xss-starter相關功能支持通過配置文件配置
  8.  feat: SysLog注解支持獲取當前線程上下文中的參數.  用法 #threadLocal.name
  9.  feat: 數據注入代碼結構、注釋優化
  10.  feat: 數據注入支持忽略注入指定字段
  11.  feat: 代碼注釋完善若干、代碼邏輯優化若干、修復bug若干
  12.  feat: 接入SkyWalking

租戶模式:

租戶模式 描述 優點 缺點 分布式事務
NONE(非租戶模式)  沒有租戶 簡單、適合獨立系統 缺少租戶系統的便利性 支持
COLUMN(字段模式) 租戶共用一個數據庫,在業務表中增加字段來區分   簡單、不復雜、開發無感知  數據隔離性差、安全性差、數據備份和恢復困難 支持
SCHEMA(獨立schema)  每個租戶獨立一個 數據庫(schema),執行sql時,動態在表名前增加schema 簡單、開發無感知、數據隔離性好 配置文件中必須配置數據庫的root賬號、不支持復雜sql和 sql嵌套自定義函數 支持
DATASOURCE(獨立數據源)  每個租戶獨立一個 數據庫(數據源),執行代碼時,動態切換數據源 可獨立部署數據庫,數據隔離性好、擴展性高、故障影響小 相對復雜、開發需要注意切換數據源時的事務問題、需要較多的數據庫 支持

 

視頻清單:  (視頻獲取地址

 

簡介:


基於SpringBoot(2.2.9.RELEASE) 的 SaaS型微服務腳手架,具備用戶管理、資源權限管理、網關統一鑒權、Xss防跨站攻擊、自動代碼生成、多存儲系統、分布式事務、分布式定時任務等多個模塊,支持多業務系統並行開發,支持多服務並行開發,可以作為后端服務的開發腳手架。代碼簡潔,架構清晰,非常適合學習使用。核心技術采用Mybatis、SpringBoot、JWT Token、RabbitMQ、FastDFS等主要框架和中間件。

希望能努力打造一套從 SaaS基礎框架 - 單體架構 - 自動化部署 - 系統監測 的解決方案。本項目旨在實現基礎能力,不涉及具體業務。
 

功能點介紹:

 接口鑒權:

通過JWT的方式來加強服務之間調度的權限驗證,保證內部服務的安全性。

監控:

利用Spring Boot Admin 來監控各個獨立Service的運行狀態;利用turbine來實時查看接口的運行狀態和調用頻率

數據權限:

利用基於Mybatis的DataScopeInterceptor攔截器實現了簡單的數據權限

SaaS的無感解決方案:

使用Mybatis攔截器實現對所有SQL的攔截,修改默認的Schema,從而實現多租戶數據隔離的目的。

二級緩存:

采用J2Cache操作緩存,第一級緩存使用內存(Caffeine),第二級緩存使用 Redis。 由於大量的緩存讀取會導致 L2 的網絡成為整個系統的瓶頸,因此 L1 的目標是降低對 L2 的讀取次數。 該緩存框架主要用於集群環境中。單機也可使用,用於避免應用重啟導致的緩存冷啟動后對后端業務的沖擊。

優雅的Bean轉換:

采用Dozer組件來對 DTO、DO、PO等對象的優化轉換

前后端統一表單驗證:

嚴謹的表單驗證通常需要 前端+后端同時驗證, 但傳統的項目,均只能前后端各做一次檢驗, 后期規則變更,又得前后端同時修改。 故在hibernate-validator的基礎上封裝了zuihou-validator-starter起步依賴,提供一個通用接口,可以獲取需要校驗表單的規則,然后前端使用后端返回的規則, 以后若規則改變,只需要后端修改即可。

防跨站腳本攻擊(XSS):

  •      通過過濾器對所有請求中的 表單參數 進行過濾
  •      通過Json反序列化器實現對所有 application/json 類型的參數 進行過濾

當前用戶信息注入器:

 通過注解實現用戶身份注入

在線API:

由於原生swagger-ui某些功能支持不夠友好,故采用了國內開源的 knife4j ,並制作了stater,方便springboot用戶使用。

代碼生成器:

基於Mybatis-plus-generator自定義了一套代碼生成器, 通過配置數據庫字段的注釋,自動生成枚舉類、數據字典注解、SaveDTO、UpdateDTO、表單驗證規則注解、Swagger注解等。

定時任務調度器:

基於xxl-jobs進行了功能增強。(如:指定時間發送任務、執行器和調度器合並項目、多數據源)

大文件/斷點/分片續傳:

前端采用webupload.js、后端采用NIO實現了大文件斷點分片續傳,啟動Eureka、Zuul、File服務后,直接打開docs/chunkUploadDemo/demo.html即可進行測試。 經測試,本地限制堆棧最大內存128M啟動File服務,5分鍾內能成功上傳4.6G+的大文件,正式服耗時則會受到用戶帶寬和服務器帶寬的影響,時間比較長。

分布式事務:

集成了阿里的分布式事務中間件:seata,以 高效 並且對業務 0侵入 的方式,解決 微服務 場景下面臨的分布式事務問題。

關聯數據自動注入:

用於解決跨表、跨庫、跨服務分頁數據的屬性或單個對象的屬性 回顯關聯數據之痛, 支持對靜態數據屬性(數據字典)、動態主鍵數據進行自動注入。

項目代碼地址

項目 gitee github 備注
微服務項目 https://gitee.com/zuihou111/zuihou-admin-cloud https://github.com/zuihou/zuihou-admin-cloud SpringCloud 版本后端代碼
單體項目 https://gitee.com/zuihou111/zuihou-admin-boot https://github.com/zuihou/zuihou-admin-boot SpringBoot 版本后端代碼
租戶后台 https://gitee.com/zuihou111/zuihou-ui https://github.com/zuihou/zuihou-ui | 給客戶使用的前端
開發&運營后台 https://gitee.com/zuihou111/zuihou-admin-ui https://github.com/zuihou/zuihou-admin-ui 給公司內部開發&運營&運維等人員使用
代碼生成器 https://gitee.com/zuihou111/zuihou-generator https://github.com/zuihou/zuihou-generator 開發人員使用
核心工具包 https://gitee.com/zuihou111/zuihou-commons https://github.com/zuihou/zuihou-commons 核心工具包

演示地址 (演示賬號沒有寫權限,只能查詢)

項目 演示地址 管理員賬號 普通賬號
租戶后台 http://tangyh.top:10000/zuihou-ui zuihou/zuihou test/zuiou
開發&運營后台 http://tangyh.top:180/zuihou-admin-ui demoAdmin/zuihou


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM