盤古開發(fā)框架簡介,工業(yè)級微服務開發(fā)治理框架
時間:2023-04-29 06:09:02 | 來源:網(wǎng)站運營
時間:2023-04-29 06:09:02 來源:網(wǎng)站運營
盤古開發(fā)框架簡介,工業(yè)級微服務開發(fā)治理框架:
盤古開發(fā)框架 是一套輕量穩(wěn)健的工業(yè)級 Web 接口服務和中后臺業(yè)務系統(tǒng)開發(fā)框架。原生支持微服務分布式架構的同時也兼容單體應用架構模式。基于商業(yè)友好的 Apache-2.0 協(xié)議
免費開源發(fā)布。我們希望不僅是開源的受益者也能成為開源貢獻者,與開源社區(qū)一起
共建共享開源生態(tài)。
設計原則
在類設計、模塊結構劃分、技術組件選型、框架體系架構設計時會優(yōu)先遵循的一些設計范式和指導原則。
- 極簡原則
大道至簡,簡單代表好用、穩(wěn)定、易協(xié)作。堅持「Keep it Simple & Stupid」設計理念。 - 最佳實踐原則
通過大量的生產(chǎn)實例檢驗,沉淀復用最佳實踐。 - 無為而治原則
不求大而全,輕量靈活保持架構的純潔與透明,堅持「Less is More」設計理念。 - 服務優(yōu)先原則
「服務」是盤古開發(fā)框架的一等公民,旨在微服務和云原生范式基礎上構建「以服務為中心」的現(xiàn)代應用架構。 - 一致性原則
雙架構支持,既是分布式微服務架構的工業(yè)級首選,同時也能兼容特定需求場景下的單體應用開發(fā)。
生態(tài)架構圖
盤古開發(fā)框架架構圖特性一覽
- 開箱即用、輕量靈活
開箱即用的技術組件庫,可隨意組合、自動裝配。輕量靈活的 權限系統(tǒng)參考實現(xiàn) ,可實現(xiàn)快速搭建二次開發(fā)腳手架的能力。同時支持大并發(fā)易擴展的高可用分布式架構也能快速組裝成垂直單體分層架構。 - 成熟架構、穩(wěn)定可靠
盤古技術棧融合云原生思想,在微服務、容器化、DevOps 等方面完美支持和適配??稍谠圃鷷r代構建以「服務」為中心的現(xiàn)代應用架構,幫助用戶在云環(huán)境中更好的構建、交付和管理自己的微服務平臺。 - 全棧百搭適配各類業(yè)務場景
聚焦面向(移動)互聯(lián)網(wǎng)的電商、金融、云端 SAAS 服務等大并發(fā)高可用可擴展的業(yè)務場景。 同時也能滿足諸如 ERP 、CRM 等各種企業(yè)數(shù)字化和各級電子政務系統(tǒng)的中小規(guī)模應用需求。
主要功能
- 自定義的 Spring Boot 啟動器,完成各功能組件的自動裝配。
- 自研輕量 Maven 插件,支持各場景的模版代碼生成。
- 配置參數(shù)外部化、動態(tài)化和中心化管理。
- 面向接口代理的高性能 RPC 服務調(diào)用。
- 支持服務調(diào)用智能容錯和負載均衡、服務限流與熔斷、可視化的服務治理與運維等。構建「以服務為中心」的現(xiàn)代應用架構服務平臺。
- 強大的數(shù)據(jù)訪問能力,內(nèi)置通用 CRUD 接口;支持 Lambda 表達式;提供邏輯刪除、樂觀鎖、分頁、字段值填充等功能。
- 支持基于異步非阻塞模型的高性能 HTTP 網(wǎng)關通過泛化調(diào)用后端 Dubbo 服務。同時網(wǎng)關支持 HTTP 層的鑒權、動態(tài)限流、熔斷、防火墻、灰度發(fā)布等。
- 提供靠譜的最終一致性分布式事務落地方案。
- 提供數(shù)據(jù)治理相關功能,如:讀寫分離、數(shù)據(jù)分片、數(shù)據(jù)加密等。
- 提供消息隊列在異步通信、服務解耦、消峰填谷、緩存同步等應用場景下的使用能力。
- 提供分布式環(huán)境下的多級緩存功能(注解式和編程式)。Caffeine 作為一級本地緩存,Redis 作為二級集中式緩存。
- 支持可配置、可監(jiān)控的分布式任務調(diào)度。
- 支持注解聲明式和編程式對業(yè)務代碼在分布式環(huán)境下加并發(fā)互斥鎖。
- 提供成熟的中后臺業(yè)務系統(tǒng)二次開發(fā)腳手架(含前后端和 權限系統(tǒng)參考實現(xiàn) )。<Highlight color="#F56C6C">HOT</Highlight>
- 應用日志輸出級別動態(tài)切換、分布式日志跟蹤等...
組件依賴
- 基礎核心組件
- Spring Boot ※ Spring Framework
- MyBatis (MyBatis Plus)
- Apache Dubbo
- Aliware Nacos
- 擴展增強型組件
- Apache ShardingSphere
- Aliware Seata
- Aliware Sentinel
- Layering Cache
- Lock4J
- TLog
- 輔助工具類組件
- Lombok
- Apache Commons
- Google Guava
- Hutool
可選組件指由我們優(yōu)選的做過適配或提供集成方案,但不作為盤古框架缺省或標配的組件。
模塊列表
- pangu-parent
盤古資源依賴聲明管理模塊 - pangu-common
盤古公共基礎類庫 - pangu-spring-boot-starter
盤古啟動、中心化配置等基礎能力自動裝配模塊 - pangu-dubbo-spring-boot-starter
盤古 Dubbo 服務開發(fā)自動裝配模塊 - pangu-jdbc-spring-boot-starter
盤古數(shù)據(jù)庫持久化操作自動裝配模塊 - pangu-cache-spring-boot-starter
盤古緩存開發(fā)自動裝配模塊 - pangu-web-spring-boot-starter
盤古 Web 應用自動裝配模塊 - pangu-rabbitmq-spring-boot-starter
盤古消息隊列自動裝配模塊 - pangu-seata-spring-boot-starter
盤古分布式事務自動裝配模塊 - pangu-data-governance-spring-boot-starter
盤古數(shù)據(jù)治理(讀寫分離、數(shù)據(jù)分片等)自動裝配模塊 - pangu-generator-maven-plugin
盤古代碼生成器Maven插件 - pangu-admin
盤古中后臺業(yè)務系統(tǒng)二次開發(fā)腳手架(含前后端和 權限系統(tǒng)參考實現(xiàn) ) - pangu-website
盤古項目官網(wǎng)和文檔 - pangu-examples
盤古框架模版化參考范例集