Code Monkey home page Code Monkey logo

mepush's Introduction

                                              消息推送平台-mePush

SpringBoot版本 MySQL版本 maven版本 ORM框架 ORM框架 分布式日志采集 分布式定时任务 动态线程池 分布式配置中心 分布式消息队列 计算引擎

##项目演示地址:http://8.130.126.21:3000/

项目结构

  • mePush-common:公共方法
  • mePush-cron:定时任务执行器
  • mePush-handler:MQ消费者,业务处理
  • mePush-service-api-impl:接入层实现类
  • mePush-service-api:接入层
  • com.tank.stream:数据清洗
  • com.tank.support:MQ提供者,业务处理
  • com.tank.web:SpringMVC
  • com.tank.xxljob-master:定时任务调度器

背景(业务范围)

只要有发送消息的需求,就可以使用本项目,具体场景如下:

1.广告商投放广告

2.验证码短信下发

3.通知类,警告类信息下发,例如某用户关注的主播开播了,系统警告线程池线程数达到阈值

image

核心功能:

1.不同渠道不同类型的消息发送 2.消息的全链路生命周期追踪

image

如何使用:

创建账号(选择渠道!!!接入姿势查看对应官方文档1.qq邮箱开启POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务即可 2.短信去对应渠道官网开通服务:https://console.cloud.tencent.com/smsv2 3.企业微信:https://developer.work.weixin.qq.com/document/path/91201):

image

创建模板(选择刚才创建的账号作为发送账号):

image

填写发送账号,标题和文案

image

如何部署

项目配置文件在mePush-web下面的application.properties,你只需要安装对应软件,更改配置文件即可启动 启动mePush-web即可

Level1:发送消息功能 你需要部署MySql5.7.x + Redis + Kafka 参考:https://blog.csdn.net/weixin_42207486/article/details/80647802

Level2:消息全链路追踪 你需要部署Flink,并且提交stream代码 参考:https://blog.csdn.net/momo898821/article/details/105579464

Level3:定时任务,动态线程池。。。 你需要部署xxl-job 以及 Apollo 参考:https://www.jianshu.com/p/09ad73aece33

设计思路(欢迎补充):

1.消息隔离

image

2.全链路追踪

两种角度:用户角度(给用户反馈为什么消息发送失败) + 模板角度(广告曝光量)

3.消息发送可靠性 限流,黑名单,渠道负载,消息重试,消息丢失等

mepush's People

Contributors

lx5555 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mepush's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.