我的開源項目消息推送平臺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倉庫地址:
消息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程序】【企業微信】【釘釘】等消息類型。