消息推送平台终于要发布啦!

yizhihongxing

我的开源项目消息推送平台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仓库地址:

消息推送平台?推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型

原文链接:https://www.cnblogs.com/Java3y/p/17372702.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:消息推送平台终于要发布啦! - Python技术站

(0)
上一篇 2023年5月4日
下一篇 2023年5月4日

相关文章

  • idea之Recompile、Rebuild和Build之间的区别及说明

    在开发 Java 项目时,我们常会用到 IntelliJ IDEA 进行编码和项目构建。在 IDEA 的编译过程中,经常会遇到 Recompile、Rebuild 和 Build 这三个概念。这三个概念有何不同?下面我将为大家逐一解释其区别及说明。 什么是 Recompile? Recompile 意为“重新编译”,简单来说,就是重新编译单个 Java 文件…

    Java 2023年5月26日
    00
  • 详解使用spring validation完成数据后端校验

    下面是“详解使用Spring Validation完成数据后端校验”的完整攻略,包含了步骤、示例和代码段。 1. 什么是Spring Validation Spring Validation是Spring框架中提供的一种数据校验工具,可以用于对请求参数、表单数据等进行校验。它通过注解的方式在POJO类中定义校验规则,然后在Controller层中通过Vali…

    Java 2023年5月20日
    00
  • JSP的内部对象

    JSP是Java服务器页面的缩写。它是一种使用Java语言来生成动态Web页面的技术。JSP的内部对象是指在JSP文件中可以访问的预定义的一组Java对象。 JSP的内部对象有以下几个: request对象:代表客户端向服务器发送的HTTP请求。可以用它来获取客户端提交的数据。也可以把需要传递到下一页的数据绑定到它上面,以便在下一页中获取它们。 <!-…

    Java 2023年6月15日
    00
  • Spring BPP中如何优雅的创建动态代理Bean详解

    为了讲解“Spring BPP中如何优雅的创建动态代理Bean”,我们首先需要了解BPP是什么。BPP(BeanPostProcessor)是Spring IoC容器提供的扩展机制,可以在Bean的实例化过程中,对Bean进行增强、修改和替换等操作。而动态代理则是Spring AOP中常用的技术,能够实现切面编程的目的。 在Spring中,我们可以使用BPP…

    Java 2023年5月20日
    00
  • Spring Boot 应用的热部署配置方法

    下面我将详细讲解 Spring Boot 应用的热部署配置方法。 什么是热部署? 热部署是指在应用运行的过程中,不需要重新启动应用,就能实现应用代码的更新。这在开发调试阶段非常有用,因为可以避免频繁地重启应用,提高开发效率。 Spring Boot 应用的热部署配置方法 方法一:使用 Spring Boot DevTools Spring Boot DevT…

    Java 2023年5月19日
    00
  • Java 完美判断中文字符的方法

    Java 完美判断中文字符的方法 在Java程序中,经常需要对中文字符进行操作,例如输入、输出、比较、查找等等。因此如何正确判断中文字符就显得非常重要。下面将介绍一些常见的方法。 方法一:使用正则表达式 正则表达式可以用来判断一个字符串是否为中文字符。可以使用Unicode编码来匹配中文字符。 以下是一个示例代码: public static boolean…

    Java 2023年5月27日
    00
  • 浅析java的foreach循环

    下面是针对“浅析Java的foreach循环”的完整攻略: 什么是foreach循环 foreach循环,也被称为增强型for循环,是Java语言中一种用于遍历数组和集合类的循环结构。通过foreach循环,我们可以简化数组和集合的遍历过程,不需要手动去控制下标或迭代器的使用。 foreach循环的语法 foreach循环的语法结构如下: for (元素类型…

    Java 2023年5月26日
    00
  • Java线程组与未处理异常实例分析

    Java线程组和未处理异常之间有一定的内在联系。在某些情况下,程序出现未处理异常之后可能会导致程序崩溃或者停止运行,这个时候我们需要通过Java线程组来捕获异常并进行处理。 什么是Java线程组 Java是一种多线程语言,线程是执行程序的基本单元。Java线程组是一组线程的集合,它可以将一组线程放在同一个组中,然后对这个组进行管理。Java线程组的主要作用是…

    Java 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部