Java项目 (SpringBoot+SpringCloud) 十次方:后端(五) 消息中间件RabbitMQ

1 RabbitMQ简介

一.消息队列中间件简介

  1. 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性[架构] 使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
  2. 以下介绍消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋和消息通讯四个场景

二.架构图与主要概念

  1. 架构图

2 走进RabbitMQ

一.RabbitMQ安装与启动

  1. windows环境下的安装
    1. 下载并安装 Eralng
      otp_win64_20.2.exe (以管理员身份运行安装)
    2. 下载并安装rabbitmq
      配套软件中已提供rabbitmq-server-3.7.4.exe。双击安装,注意不要安装在包含中文和空格的目录下!安装后window服务中就存在rabbitMQ了,并且是启动状态。
    3. 安装管理界面(插件)
      进入rabbitMQ安装目录的sbin目录,输入命令
    4. 重新启动服务
    5. 打开浏览器,地址栏输入http://127.0.0.1:15672 ,即可看到管理界面的登陆页
      输入用户名和密码,都为guest 进入主界面
  2. docker环境下的安装
    1. 下载镜像:
    2. 创建容器,rabbitmq需要有映射以下端口: 5671 5672 4369 15671 15672 25672
      15672 (if management plugin is enabled)
      15671 management监听端口
      5672, 5671 (AMQP 0-9-1 without and with TLS)
      4369 (epmd) epmd 代表 Erlang 端口映射守护进程
      25672 (Erlang distribution)

3 用户微服务-用户注册

一.需求分析

  1. 注册账号,用手机号注册,填写后发送短信验证码,填写短信验证码正确方可注册成功。

二.代码生成

  1. 代码生成器生成用户微服务代码 tensquare_user
  2. 拷贝到当前工程,并在父工程引入。
  3. 修改Application类名称为UserApplication
  4. 修改application.yml 中的端口为9008 ,url 为
  5. 进行浏览器测试

三.发送短信验证码

  1. 实现思路: 在用户微服务编写API ,生成手机验证码,存入Redis并发送到RabbitMQ
  2. 准备工作
    1. 因为要用到缓存和消息队列,所以在用户微服务(tensquare_user)引入依赖redis和amqp的起步依赖。
    2. 修改application.yml ,在spring 节点下添加配置
  3. 代码实现
    1. 在UserService中新增方法,用于发送短信验证码
    2. UserController新增方法
    3. 启动微服务,在rabbitMQ中创建名为sms的队列,测试API

四.用户注册

  1. UserService增加方法
  2. UserController增加方法

4 短信微服务

一.需求分析

  1. 开发短信发送微服务,从rabbitMQ中提取消息,调用阿里大于短信接口实现短信发送 。

二.提取队列中的消息

  1. 工程搭建
    1. 创建工程模块:tensquare_sms,pom.xml引入依赖
    2. 创建application.yml
    3. com.tensquare.sms 包下创建启动类
  2. 消息监听类
    1. 创建短信监听类,获取手机号和验证码

三.发送短信(阿里云通信)

  1. 创建工程模块tensquare_sms,pom.xml引入依赖
  2. 修改application.yml ,增加配置
  3. 创建短信工具类SmsUtil
  4. 修改消息监听类,完成短信发送
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值