RabbitMQ消息队列简单异步邮件发送和订单异步处理实战【应用解耦】【异步削峰】

介绍

在这里插入图片描述

📖源码地址: https://gitee.com/breez/mq-shop

介绍

使用RabbitMQ消息队列异步发送短信和邮件、订单异步处理【流量削峰】

软件架构

技术栈

序号名称
1SpringBoot
2SpringMVC
3Mybatis plus
4RabbitMQ
5SpringBoot Mail

特点:

  • 邮件发送的封装
  • 三大发送模式:简单模式、HTML模式、携带附件的模式
  • 消息队列异步发送消息
  • 简单订单异步处理【应用解耦】【流量削峰】

安装教程

  1. 使用编译器打开mq-shop项目,使用maven解决依赖问题、并且启动MQ服务器。
  2. 在application-dev.yml配置MySQL数据源、RabbitMQ消息队列服务器信息、邮件配置
  3. 在UserController修改自己的信息
  4. 运行启动类MqOrderApplication
  5. 浏览器访问:http://localhost:8520/shop/user/reg1|reg2【异步短信和邮件发送】
1. 邮件配置
mail:host: smtp.163.comusername: xxx@xxx.compassword: xxx #授权码default-encoding: UTF-8
2.消息队列配置
rabbitmq:host: 192.168.171.145port: 5672username: adminpassword: adminvirtual-host: /
3.数据源配置
spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedruid:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mqorder?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaiusername: rootpassword: rootinitial-size: 10max-active: 100min-idle: 10max-wait: 60000pool-prepared-statements: truemax-pool-prepared-statement-per-connection-size: 20time-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 300000

重要的事情请看下面

在这里插入图片描述
在这里插入图片描述


欢迎加入BreezAm技术交流群:3861 35311 【QQ群】
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

秋名山老司机从上车到翻车的悲痛经历,带你深刻了解什么是 Spark on Hive!| 原力计划...

作者 | Alice菌责编 | 夕颜出品 | CSDN博客本篇博客将为大家分享的内容是如何实现Spark on Hive,即让Hive只作为存储角色,Spark负责sql解析优化,执行…话不多说,直接上车!上车前需知Spark on hive 与 hive on spark 的…

从电商到软件市场,阿里双11战火蔓延

2019年“双十一”,是阿里天猫奋战的第11个年头,更是阿里在电商行业的一个重要的里程碑。今年,整个阿里系也在“一心一役”全面出击,作为阿里旗下的重要大将——阿里云也加入了这场购物狂欢,将火热的购物氛围从C端消费者…

RuoYi-Cloud 部署篇_01(linux环境 mysql+nginx版本)

文章目录一、基础准备1. 技术选型2. 源码克隆3. 安装依赖4. 将 RuoYi-Cloud 项目导入到 IDEA5. 安装启动Mysql6. 安装启动Redis7. 创建数据库,执行 SQL脚本文件二、安装与配置 nacos2.1. 下载nacos2.2. 安装 nacos2.3. nacos持久化配置2.4. 执行脚本文件2.5. nacos连…

SpringBoot集成Elasticsearch实现博客高亮搜索

文章目录效果展示二、使用步骤1.引入maven依赖2. 编写spplication.properties3.配置客户端4.高亮搜索5.转换成实体对象总结效果展示 虽然看起来巴适,但是挺简单的! 📝 英文检索 📝 中文单字检索 二、使用步骤 1.引入maven依赖…

淘系技术,实力为2019年双11而战!稳!

2019 天猫双 11 全球狂欢节96秒成交额破百亿,24小时总成交额2684亿,创造了交易创建峰值 54.4万笔/秒的历史记录。天猫双11,已经不仅是购物节,也是品牌成长节、消费者互动节。天猫双11更是是商业的奥林匹克。 今年&…

上班从不迟到,生病不敢请假,加班唯命是从,明明已经很拼命了,为什么还是缺钱?...

为了省几百块钱房租,每天在路上多花两三个小时;为了少花几毛钱,买包纸巾也要货比三家;被上司大声指责,为了保住饭碗,只能陪着笑脸......上班从不迟到,生病不敢请假,加班唯命是从&…

RuoYi-Cloud 部署篇_02(linux环境 mysql+nginx版本)

文章目录一、模块配置修改1. ruoyi-gateway-dev.yml2. ruoyi-auth-dev.yml3. ruoyi-system-dev.yml4. ruoyi-gen-dev.yml5. ruoyi-job-dev.yml6. ruoyi-file-dev.yml二、后端配置预启动2.1. 部署资料整合2.2. 模块端口划分2.3. 组件端口划分2.4. 服务脚本编写2.5. 前端编译生产…

Flink State 有可能代替数据库吗?

有状态的计算作为容错以及数据一致性的保证,是当今实时计算必不可少的特性之一,流行的实时计算引擎包括 Google Dataflow、Flink、Spark (Structure) Streaming、Kafka Streams 都分别提供对内置 State 的支持。State 的引入使得实时应用可以不依赖外部数…

简易投票系统数据库设计

介绍 简易版的投票系统数据库设计. 发现设计有误请在评论区指出,谢谢! 一、截图 项目表 选项表 投票表 二、代码 票表 CREATE TABLE as_ticket (id varchar(64) NOT NULL COMMENT 主键,title varchar(100) DEFAULT NULL COMMENT 投票标题,descr…

万级规模 K8s 如何管理?蚂蚁双11核心技术公开

阿里妹导读:Kubernetes 大幅降低了容器化应用部署的门槛,并以其超前的设计理念和优秀的技术架构,在容器编排领域拔得头筹。越来越多的公司开始在生产环境部署实践。本文将分享蚂蚁金服是如何有效可靠地管理大规模 Kubernetes 集群的&#xff…

定了!2020年,6种将死的编程语言!

编程界语言排行榜又要面临一次全新的洗牌,六大编程语言将要黄了!此消息一出,令众多程序员心碎!那么这将“亡”的六大语言中有你所擅长的吗?Perl,Haskell,Ruby,Visual Basic.NET&…

RuoYi-Cloud 部署篇_03(linux环境 Mysql+nginx版本)

文章目录一、localhost无法路由1. nacos控制台2. sentinel控制台3. admin控制台二、思路分析2.1. 现象分析2.2. 原因分析2.3. 解决思路三、解决方案(第一种)3.1. 调整路由url3.2. 效果验证四、解决方案解决方案(第二种)4.1. 域名分…

论坛系统数据库设计

论坛系统数据库设计 文章目录论坛系统数据库设计前言一、社区论坛是什么?二、设计表1.用户表2.Token表3. 文章表4. 话题表5. 问题表6. 评论表7. 投票表8. 回答表9. 举报表10. 话题关系对应表11. 通知表12. 私信表13. 关注关系表14. 图片表15. 设置表16. 缓存表总结前…

阿里文娱首次公开!AI 如何对爆款内容未卜先知?

阿里妹导读:文娱内容很难有完整的量化指标体系,内容的复杂性决定了文娱产品的不确定性。我们如何利用AI大数据能力,建造文娱的内容认知大脑?串联内容全生命周期,实现对内容、流量、宣推等的“未卜先知”,提…

Sentinel 1.7.0 发布,支持 Envoy 集群流量控制

流控降级中间件 Sentinel 1.7.0 版本正式发布,引入了 Envoy 集群流量控制支持、properties 文件配置、Consul/Etcd/Spring Cloud Config 动态数据源适配等多项新特性与改进。详细特性列表请参考 Release Notes,欢迎大家使用并提出建议。 下面我们来一起…

RuoYi-Cloud 部署篇_02(windows环境 mysql版本)

文章目录一、模块配置修改1. ruoyi-gateway-dev.yml2. ruoyi-auth-dev.yml3. ruoyi-system-dev.yml4. ruoyi-gen-dev.yml5. ruoyi-job-dev.yml6. ruoyi-file-dev.yml二、后端配置预启动2.1. 配置 idea的 RunDashboard2.2. 运行后端三、部署前端3.1. 安装依赖3.2. 运行前端6.3. …

运维老哥必须知道的Linux系统文件目录组织结构

夫陶公清风千古,余又何人,敢称庶几 文章目录介绍Linux目录结构Linux文件和目录管理绝对路径和相对路径绝对路径相对路径yum包管理介绍 Linux目录结构 💡 Linux文件系统的目录结构为树状结构,其中根目录为一个斜杠:/…

云原生下日志方案的架构设计

上一篇中我们介绍了为什么需要一个日志系统、为什么云原生下的日志系统如此重要以及云原生下日志系统的建设难点,相信DevOps、SRE、运维等同学看了是深有体会的。本篇文章单刀直入,会直接跟大家分享一下如何在云原生的场景下搭建一个灵活、功能强大、可靠…

不知道路由器工作原理?没关系,来这看看!看不懂你捶我 | 原力计划

作者 | 北海以北没有小王头图 | CSDN付费下载自视觉中国来源 | CSDN博客路由器概述首先我们先大致了解一下路由器的大致结构以及工作方式。路由器体系结构路由器体系结构如下图:其中四个重要组成部分依次如下:1. 接入端口将一条输入的物理链路与路由器相…

RuoYi-Cloud 部署篇_03(windows环境 mysql版本)

文章目录一、软件启动1. redis2. nacos3. myqsl二、微服务启动2.1. 认证授权中心启动2.2. 若依网关启动2.3. 系统模块启动2.4. 定时任务模块启动2.5. 监控中心启动2.6. 代码生成模块启动2.7. 前端启动三、测试验证3.1. 系统模块3.2. 定时任务3.3. 代码生成3.4. sentinel控制台3…