推荐一个消息推送平台的开源项目,微信,钉钉都支持了!(带私活源码)

 今天,给大家分享的是 GitHub 上一个消息推送平台的开源项目----austin

图片

介绍

austin项目核心功能:统一的接口发送各种类型消息,对消息生命周期全链路追踪。

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

图片

项目意义

只要公司内有发送消息的需求,都应该要有类似austin的项目,对各类消息进行统一发送处理。

这有利于对功能的收拢,以及提高业务需求开发的效率。

图片

技术架构

技术栈

所使用的技术栈包括:SpringBoot、SpringDataJPA、MySQL、Docker、docker-compose、Kafka、Redis、Apollo、prometheus、Grafana、GrayLog、Flink、Xxl-job、Echarts等等.

austin项目核心流程

austin-api接收到发送消息请求,直接将请求进MQ。

austin-handler消费MQ消息后由各类消息的Handler进行发送处理。

图片

图片

使用姿势

目前引用的中间件教程的安装姿势均基于Centos 7.6(完全部署所有的服务,大概8G内存),austin项目强依赖MySQL/Redis/Kafka/apollo,弱依赖prometheus/graylog/flink/xxl-job。

1、austin使用的MySQL版本5.7x。如果目前使用的MySQL版本8.0,注意改变pom.xml所依赖的版本

2、填写application.properties中austin-database对应的ip/port/username/password信息

3、执行sql文件夹下的austin.sql创建对应的表以及插入测试数据

4、填写application.properties中austin-kafka对应的ip/port信息

5、填写application.properties中austin-redis对应的ip/port信息

6、检查apollo的app.id/apollo.bootstrap.namespaces,检查创建的消息队列topic:austin.business.topic.name

7、以上配置信息都在application.properties文件中修改。

8、由于使用了Apollo且我是在云服务器上安装的,我这边会直接跳过metaserver服务发现,在AustinApplication需要配置对应的apollo地址(注意端口!)

9、发送渠道账号的信息都配置在apollo,配置的示例参照com.java3y.austin.support.utils#getAccount中的注释

10、调用http接口com.java3y.austin.web.controller#send给自己发一条短信或者邮件感受

前端部署界面:

图片

当然了,不愿意自己部署的同学,作者也提供了会员服务,可以直连已部署好的环境。

会员服务

访问已部署的服务只是会员服务的一部分,除此之外作者还提供学习经验、学习路线、简历编写、面试经验等分享

图片

对于小白用户或者时间有限需要提高的同学,也可以购买会员服务。

项目地址:https://github.com/ZhongFuCheng3y/austin 

写在最后 (私活源码)

还给大家分享一套基于Springboot+Vue酒店管理系统源码,在实际项目中可以直接复用。(免费提供,文末自取)

一、系统运行图(管理端和用户端)

1、管理登陆

2、房间管理

3、订单管理

4、用户登陆

5、房间预定

二、系统搭建视频教程和源码

 

源码免费领取方式

​扫码关注本号,后台回复 酒店

扫码关注本号,后台回复 酒店

持续关注本号,分享更多项目源码

分享一些关于学习Java编程方面的经验

Java是一种广泛应用于软件开发领域的编程语言,具有跨平台、面向对象等特点。在开发Java项目时,我们需要遵循一些基本原则和步骤,以确保项目的顺利进行和高质量的交付。本文将为您介绍如何开发Java项目的一般流程和注意事项。

1. 需求分析:在开始开发之前,我们需要与客户或项目组成员充分沟通,了解项目的需求和目标。明确项目的功能、性能、安全等方面的要求,以便后续的开发工作能够有针对性地进行。

2. 系统设计:在需求分析的基础上,我们需要进行系统设计。这包括确定项目的架构、模块划分、数据库设计等。合理的系统设计可以提高项目的可扩展性和可维护性。

3. 编码实现:根据系统设计的结果,我们开始进行编码实现。在编写代码时,我们应该遵循良好的编码规范和设计原则,保证代码的可读性和可维护性。同时,我们也可以利用一些常用的开发框架和工具来提高开发效率。

4. 单元测试:在编码完成后,我们需要进行单元测试。通过编写测试用例,对每个模块进行测试,以确保代码的正确性和稳定性。单元测试可以帮助我们及早发现和修复潜在的问题。

5. 集成与部署:当所有模块都通过了单元测试后,我们需要进行集成测试。将各个模块组合起来,并进行整体的功能测试和性能测试。在测试通过后,我们可以将项目部署到生产环境中,供用户使用。

6. 维护与优化:项目上线后,并不意味着开发工作的结束。我们需要持续关注项目的运行情况,及时修复bug,并根据用户反馈进行功能优化和性能优化。这样可以提高项目的稳定性和用户体验。

Java项目开发是一个复杂而又有挑战性的过程,但只要我们按照以上步骤进行,就能够有效地提高开发效率和项目质量。同时,我们也应该不断学习和掌握新的技术和工具,以跟上行业的发展和变化。希望本文对您在Java项目开发方面有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值