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

我的开源项目消息推送平台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日

相关文章

  • Java 8 Stream操作类型及peek示例解析

    Java 8 Stream操作类型及peek示例解析 Java 8引入了Stream API,可用于对集合和数组进行函数式操作。本篇攻略将介绍Java 8中Stream API的操作类型,并详细讲解peek()操作的定义、用法和示例。 Stream API操作类型 Stream API包含两种类型的操作:Intermediate(中间操作)和Terminal…

    Java 2023年5月26日
    00
  • java springboot的概述、特点与构建介绍

    Java Spring Boot的概述、特点与构建介绍 1. 概述 Spring Boot是一个基于Spring框架的快速开发应用程序的工具。它提供了一种快速、便捷的方式来创建基于Spring的应用程序,同时也提供了一些默认的配置和约定,使得开发人员可以更加专注于业务逻辑的实现。 2. 特点 Spring Boot具有以下特点: 快速开发:Spring Bo…

    Java 2023年5月15日
    00
  • JavaBean和SpringBean的区别及创建SpringBean方式

    JavaBean和SpringBean的区别: JavaBean是Java语言编写的可重用组件,它是普通的Java类,遵循特定的约定(约定优于配置)。JavaBean将其属性封装在私有字段中,并提供公共的getter和setter方法以让外部程序可以访问这些私有属性。JavaBean可以在任何Java环境中被使用,例如Java SE、Java EE等。 Sp…

    Java 2023年5月19日
    00
  • 学会Java字节码指令,成为技术大佬

    学会Java字节码指令,成为技术大佬 什么是Java字节码指令? Java字节码指令是JVM(Java虚拟机)的指令集,用于执行Java程序。它是一种面向堆栈的指令集,包含了各种类型的指令,例如控制流指令、算数指令、类型转换指令等。学会Java字节码指令,对于深入理解Java语言、Java虚拟机以及性能优化都非常有帮助。 学习Java字节码指令的攻略 1. …

    Java 2023年5月23日
    00
  • SparkStreaming整合Kafka过程详解

    SparkStreaming整合Kafka过程详解 1. 概述 本文将详细讲解使用SparkStreaming整合Kafka的过程,并附带两个示例。SparkStreaming是Spark旗下的一个流式处理框架,而Kafka是分布式消息中间件,二者的整合能够轻松实现实时数据的处理和分析。 2. 前置条件 在开始整合SparkStreaming和Kafka之前…

    Java 2023年5月20日
    00
  • Java复制(拷贝)数组的五种方法汇总

    Java复制(拷贝)数组的五种方法汇总 一、使用for循环逐一复制 这是最基本的数组复制方法,适用于任何类型的数组。代码示例如下: int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = new int[arr1.length]; // 创建空数组,长度等于原数组 for (int i = 0; i < arr1.leng…

    Java 2023年5月26日
    00
  • SpringBoot定时任务设计之时间轮案例原理详解

    SpringBoot定时任务设计之时间轮案例原理详解 本文将详细介绍SpringBoot定时任务设计之时间轮案例,讲解时间轮的基本原理和实现方式,以及如何在SpringBoot中实现定时任务的调度。 基本原理 时间轮是一种常见的定时任务调度算法,它的基本原理是将时间线性化,并按照固定的时间间隔划分成若干个时间槽,将任务按照配合它触发时间所在的时间槽进行存储和…

    Java 2023年5月20日
    00
  • 分析jackjson的安全漏洞CVE-2019-14379

    分析Jackjson的安全漏洞CVE-2019-14379可以通过以下几个步骤: 1.了解CVE-2019-14379漏洞的背景和影响 CVE-2019-14379是一个由Jackson-databind 库的反序列化漏洞引发的安全问题。这种漏洞可以让攻击者远程执行任意代码,从而导致服务器遭到攻击、数据丢失或泄露。 2.检查自己的应用程序是否受到漏洞的影响 …

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