訊息推送平臺終於要上線啦!

Java3y發表於2023-05-04

我的開源專案訊息推送平臺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倉庫地址:

訊息推送平臺?推送下發【郵件】【簡訊】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別

相關文章