我的開源專案訊息推送平臺Austin終於要上線了,迎來線上演示的第一版!
?專案線上演示地址:http://139.9.73.20:3000/
訊息推送平臺?推送下發【郵件】【簡訊】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。
不得不說,為了這個「線上演示」我前期做了很多工作:
1、渠道賬號配置改為在前端上做頁面管理,之前會把渠道的賬號配置散落在分散式配置中心/本地配置檔案;
2、使用docker-compose部署後端專案,預料到後續迭代頻繁,需要有簡單且好用的部署姿勢;
3、做簡單的使用者登入功能,線上演示的系統每個使用者只能看到自身賬號的資訊,使用者之間不共享資訊;
4、充錢買伺服器,現有我除錯的伺服器配置不夠,只能買新的伺服器;
專案介紹
核心功能:統一的介面傳送各種型別訊息,對訊息生命週期全鏈路追蹤。
意義:只要公司內部有傳送訊息的需求,都應該要有類似訊息推送平臺的專案。訊息推送平臺對各類訊息進行統一傳送處理,這有利於對功能的收攏,以及提高業務需求開發的效率。
技術棧
技術棧 | 實現 |
---|---|
程式語言 | Java(JDK 1.8) |
專案管理工具 | Maven 3.x |
整合開發工具 | IDEA 2022 |
部署伺服器 | Centos 7.6 |
系統部署工具 | Docker & Docker-compose |
專案環境 | SpringBoot 2.5.6 |
關係型資料庫 | MySQL 5.7.X |
快取資料庫 | Redis:lastest |
ORM框架 | SpringData JPA 2.5.6 |
分散式定時任務框架 | XXL-JOB v2.3.0 |
分散式配置中心 | Apollo & Nacos |
訊息佇列 | Kafka & RabbitMQ & RocketMQ |
分散式日誌採集框架 | Graylog |
分散式計算引擎 | Flink 1.16.0 |
監控採集元件 | Prometheus |
監控視覺化元件 | Grafana |
資料倉儲 | Hive 2.3.2 |
大資料環境 | Hadoop 2.7.4 |
大資料視覺化 | Metabase:lastest |
前端技術 | Amis |
使用教程
?專案有預覽地址,可自行體驗:http://139.9.66.219:3000/
1、建立需要傳送的渠道賬號
2、建立訊息模板
3、測試傳送訊息是否正常
4、檢視訊息下發情況
5、亦可在新建模板時選擇定時任務,透過上傳csv檔案和指定cron表示式實現下發訊息
工程模組&系統流程
瞭解工程模組的職責,這對看專案程式碼的時候會有個比較清晰的認識:
工程模組 | 作用 |
---|---|
austin-common | 專案公共包:儲存著專案公共常量/列舉/Bean |
austin-support | 專案工具包:對接中介軟體/元件 |
austin-cron | 定時任務模組:對xxl-job封裝和專案定時任務邏輯 |
austin-web | 後臺管理模組:提供介面給前端呼叫 |
austin-service-api | 訊息接入層介面定義模組:只有介面和必要的入參依賴 |
austin-service-api-impl | 訊息接入層具體實現模組:真實處理請求 |
austin-handler | 訊息處理邏輯層:消費MQ下發訊息 |
austin-stream | 實時處理模組:利用flink實時處理下發鏈路資料 |
austin-data-house | 資料倉儲模組:消費MQ資料寫入hive |
austin目前所支援的下發渠道:
如果想學Java專案的,強烈推薦我的開源專案訊息推送平臺Austin(8K stars) ,可以用作畢業設計,可以用作校招,可以看看生產環境是怎麼推送訊息的。開源專案訊息推送平臺austin倉庫地址:
訊息推送平臺?推送下發【郵件】【簡訊】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。