An open API service indexing awesome lists of open source software.

https://github.com/hildam/dataflow

DataFlow 消息管理平台
https://github.com/hildam/dataflow

Last synced: 4 months ago
JSON representation

DataFlow 消息管理平台

Awesome Lists containing this project

README

          

# DataFlow:消息管理平台

## 项目介绍 / 背景
![68747470733a2f2f70332d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f63323637656262326666323334323433623836363533313264626234363331307e74706c762d6b3375316662706663702d7a6f6f6d2d312e696d61](https://user-images.githubusercontent.com/46062705/175449473-dbed9ac5-ea35-4a7c-a6d1-d29c46fcb371.jpg)
- 对各类消息进行统一推送的服务平台,比如短信、邮件、小程序、微信公众号、企业微信、钉钉
等等
- 主要用于学校对内、对外的消息推送,对各类消息进行统一的收发管理,
- 解决校园消息发送管理的分散的问题,统一的消息发送接口有利于提高校园管理的效率

## 项目架构
![68747470733a2f2f70312d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f62356434646664653066313634383035613665383561383634393862306364377e74706c762d6b3375316662706663702d77617465726d61726b2e](https://user-images.githubusercontent.com/46062705/175449848-b097310a-cc77-42cb-bf69-3b7a326748e9.png)

## 核心功能实现
1. 使用 Kafka 作为消息队列,当项目接口接收到发送请求后,消息首先被放入异步队列,消费层再
消费消息,调用消息发送服务。实现异步和解耦,可以扛住一定的业务流量
2. 消息层实现资源隔离,不同的渠道不同的消息类型互不影响并且利用动态线程池可配置化地对消
费能力进行调控,提高吞吐量
3. 发送信息前基于 Redis 实现平台性的去重,避免短时间内相同信息的重复发送

## 项目技术栈
- Springboot、Redis、Kafka、Mybatis

## 项目收获
• 了解到 kafka 在实际项目的使用,对消息队列在项目中的作用有更深的理解
• 对项目模块化设计有更深的