1. 程式人生 > >springcloud 學習記錄 二 開源架構 PIG

springcloud 學習記錄 二 開源架構 PIG

碼雲上找了個最近比較火的開源架構 PIG

搭建了一天,終於大功告成,可以慢慢研究學習,再發上微博。

下面介紹一下PIG

基於Spring Cloud、OAuth2.0、Vue的前後端分離的系統。 通用RBAC許可權設計及其資料許可權和分庫分表 支援服務限流、動態路由、灰度釋出、 支援常見登入方式, 多系統SSO登入

  • 完善登入:賬號密碼模式、簡訊驗證碼模式、社交賬號模式均整合Spring security oAuth
  • 單點登入:基於Srping security oAuth 提供單點登入介面,方便其他系統對接
  • 使用者管理:使用者是系統操作者,該功能主要完成系統使用者配置。
  • 機構管理:配置系統組織機構,樹結構展現,可隨意調整上下級。
  • 選單管理:配置系統選單,操作許可權,按鈕許可權標識等。
  • 角色管理:角色選單許可權分配、設定角色按機構進行資料範圍許可權劃分。
  • 動態路由:基於zuul實現動態路由,後端可配置化。
  • 灰度釋出:自定義ribbon路由規則匹配多版本請求。
  • 終端管理:動態配置oauth終端,後端可配置化。
  • 字典管理:對系統中經常使用的一些較為固定的資料進行維護,如:是否等。
  • 操作日誌:系統正常操作日誌記錄和查詢;系統異常資訊日誌記錄和查詢。
  • 服務限流:多種維度的流量控制(服務、IP、使用者等)
  • 訊息匯流排:配置動態實時重新整理
  • 分庫分表:shardingdbc分庫分表策略
  • 資料許可權: 使用mybatis對原查詢做增強,業務程式碼不用控制,即可實現。
  • 檔案系統: 支援FastDFS、七牛雲,擴充套件API幾行程式碼實現上傳下載
  • 訊息中心:簡訊、郵件模板傳送,幾行程式碼實現傳送
  • 聚合文件:基於zuul實現 swagger各個模組的實現
  • 程式碼生成:前後端程式碼的生成,支援Vue
  • 快取管理:基於Cache Cloud 保證Redis 的高可用
  • 服務監控: Spring Boot Admin
  • 分散式任務排程: 基於elastic-job的分散式檔案系統,zookeeper做排程中心
  • zipkin鏈路追蹤: 資料儲存ELK,圖形化展示
  • pinpoint鏈路追蹤: 資料儲存hbase,圖形化展示

模組

pig
├── pig-ui -- element-vue-admin實現[9528]
├── pig-auth -- 授權服務提供[3000]
├── pig-common -- 系統公共模組 
├── pig-config -- 配置中心[4001]
├── pig-eureka -- 服務註冊與發現[1025]
├── pig-gateway -- ZUUL閘道器[9999]
├── pig-modules -- 微服務模組
├    ├── pig-daemon-service -- 分散式排程中心[4060]
├    ├── pig-mc-service -- 訊息中心[4050]
├    ├── pig-sso-client-demo -- 單點登入客戶端示例[4040]
├    └── pig-upms-service -- 許可權管理提供[4000]
└── pig-visual  -- 圖形化模組 
     ├── pig-monitor -- 服務狀態監控、turbine [5001]
     ├── pig-zipkin-elk -- zipkin、ELK監控[5002、5601]
     └── pig-cache-cloud -- 快取管理、統一監控[5005]