【bird-java】bird-java系列文章彙總

bird框架系列是一套先後端分離的總體解決方案。其包括:前端

  • 基於React的工程化的前端框架:bird-front;
  • 基於Spring boot與Dubbo的分佈式服務框架:bird-java;

bird-java是以Spring boot與Dubbo爲基礎的分佈式服務框架,專一於業務開發,提煉中後臺應用中的經典業務場景,盡我所能的在我目前的業務場景下作到最佳實踐。本篇文章主要是對bird-java進行概述以及相關文章的彙總。java

 

系列文章git

  1. 快速開始
  2. bird-java中的一些設計思想
  3. 服務組成——model
  4. 服務組成——mapper
  5. 服務組成——service
  6. 服務的暴露與調用
  7. 服務之間的事件傳遞——Eventbus
  8. Web層——接口規約
  9. Web層——異常處理
  10. Web層——單點登錄SSO
  11. Web層——簡易文件服務器
  12. Web層與Dubbo服務之間Session信息的統一
  13. 經典業務場景——表格增刪改查
  14. 經典業務場景——表單開發
  15. 經典業務場景——資源權限

 

技術選型github

  • 基礎框架:spring
  • 服務調度:dubbo
  • web層:spring-boot
  • 緩存:redis
  • 數據訪問:mybatis、mybatis-plus
  • 數據庫鏈接池:druid
  • 消息隊列:kafka
  • 日誌:slf4j、logback
  • 任務調度:quartz
  • 服務總線:基於Kafka自研EventBus
  • 身份認證:自研單點登陸

架構圖web

  • 接入層:即web層,服務的使用者,面向用戶。多系統之間經過sso實現登陸與權限的統一控制。
  • 服務層:服務的提供者,每一個服務都可集羣部署,服務之間可經過RPC調用,也可經過EventBus實現通訊。
  • 數據層:包括數據的持久化與緩存。每一個服務可對應其各自的數據庫,緩存使用redis。
  • 基礎設施層:爲以上各層提供服務,包括日誌、工具類、任務調度等。

功能特性redis

bird-java提供了許多功能特性,包括:spring

  1. 分佈式。每一個服務都可集羣部署,服務間可自由通訊,每一個服務可擁有本身的數據庫,可單獨作讀寫分離。
  2. EventBus事件總線。讓服務間事件傳遞像本地程序同樣簡單。
  3. 全自動CRUD,表格增刪查改、篩選、排序、分頁均從框架層面解決,業務編碼量不到20行。
  4. 實現從db->mappper->service->controller各層代碼一鍵生成。
  5. 爲web與service項目提供不一樣類型的starter,按配置注入對應的組件,使編碼環境更加簡潔。

 

示例項目介紹數據庫

  • service-xxx:服務,服務拆分的最小單位。
  • service-xxx-api:服務定義,包括服務接口、Model、DTO、EventArg的定義。
  • service-xxx-impl:服務的實現,包括服務實現、Mapper。服務部署的最小單位。
  • web-xxx:web層,對外提供接口,可根據業務須要拆分爲不一樣的web層。

項目地址後端

項目地址:https://github.com/liuxx001/bird-java,有興趣的朋友們能夠看看。
api

相關文章
相關標籤/搜索