SpringBoot开发实用篇(三)

一:任务

1:SpringBoot整合Quartz

  • 导入SpringBoot整合quartz的坐标
  • 定义具体要执行的任务,继承QuartzJobBean
  • 定义工作明细和触发器,并绑定对应关系

2:SpringBoot整合task

  • 开启定时任务功能
  • 设置定时执行的任务,并设置执行周期
  • 定时任务相关配置

二:消息

  • 消息发送方(生产者)
  • 消息接收方(消费者)

1:ActiveMQ

1.1:ActiveMQ安装
  • 下载地址
  • 安装:解压缩
  • 启动服务
  • 访问服务器
  • 服务端口:61616      管理后台端口:8161
  • 用户名&密码:admin
1.2:SpringBoot整合ActiveMQ
  • 导入SpringBoot整合ActiveMQ坐标
  • 配置ActiveMQ(采用默认配置)
  • 生产与消费消息(使用默认消息存储队列)
  • 使用消息监听器对消息队列监听
  • 流程性业务消息消费完转入下一个消息队列

2:RabbitMQ

2.1:RabbitMQ安装
  • RabbitMQ基于Erlang语言编写,需要安装Erlang
  • Erlang
  1. 下载地址:https://www.erlang.org/downloads
  2. 安装:一键傻瓜式安装,安装完毕后需要重启,需要依赖Windows组件
  3. 环境变量配置
  4.         
  • RabbitMQ下载地址
  • 安装:一键傻瓜式安装
  • 启动服务
  • 关闭服务
  • 查看服务状态
  • 服务管理可视化(插件形式)
  • 查看已安装的插件列表
  • 开启服务管理插件
  • 访问服务器
  • 服务端口:5672   管理后台端口:15672
  • 用户名&密码:guest
2.2:SpringBoot整合RabbitMQ直连交换机模式
  • 导入SpringBoot整合RabbitMQ坐标(以下导的坐标包含RabbitMQ)
  • 配置RabbitMQ(采用默认配置)
  • 定义消息队列(direct)
  • 生产与消费消息(direct)
  • 使用消息监听器对消息进行监听(direct)
2.3:SpringBoot整合RabbitMQ主题交换机
  • 定义消息队列(topic)
  • 绑定键匹配规则
  • 生产与消费消息(topic)
  • 使用消息监听器对消息队列监听(topic)

3:RocketMQ

3.1:RocketMQ安装
  • 下载地址
  • 安装:解压缩     默认服务端口:9876
  • 环境变量配置
  • 启动命名服务
  • 启动broker
3.2:SpringBoot整合RocketMQ
  • 导入SpringBoot整合RocketMQ坐标
  • 配置RocketMQ(采用默认配置)
  • 生产消息
  • 生产异步消息
  • 使用消息监听器对消息队列监听

4:Kafka

4.1:Kafka安装
  • 下载地址(windows系统下3.0.0版本存在bug,建议使用2.x版本        )
  • 安装:解压缩
  • 启动zookeeper         默认端口:2181
  • 启动kafka                 默认端口:9092
  • 创建topic
  • 查看topic
  • 删除topic
  • 生产者功能测试
  • 消费者功能测试
4.2:SpringBoot整合Kafka
  • 导入SpringBoot整合Kafka坐标
  • 配置Kafka(采用默认配置)
  • 生产消息
  • 使用消息监听器对消息队列监听

三:监控

1:监控的意义
  • 监控服务状态是否宕机
  • 监控服务运行指标(内存,虚拟机,线程,请求等)
  • 监控日志
  • 管理服务(服务下线)
2:监控的实施方式
  • 显示监控信息的服务器:用于获取服务信息,并显示对应的信息
  • 运行的服务:启动时主动上报,告知监控服务器自己需要受到监控
3:可视化监控平台
  • Spring Boot Admin,开源社区项目,用于监控和管理SpringBoot应用程序。客户端注册到服务端后,通过HTTP请求方式,服务端定期从客户端获取对应的信息,并用过UI界面展示对应的信息        
  • Admin服务端(注意版本要和springboot框架版本一致)
  • Admin客户端
  • Admin服务端(要做成web项目)
  • 设置启用Spring-Admin
  • Admin相关配置
4:监控原理
  • Actuator提供了SpringBoot生产就绪功能,通过端点的配置与访问,获取端点信息
  • 端点描述了一组监控信息,SpringBoot提供了多个内置端点,也可以根据需要自定义端点信息
  • 访问当前应用所有端点信息:/actuator
  • 访问端点详细信息:/actuator/端点名称
  • 启用指定端点
  • 启用所有端点
  • 暴露端点功能
  • 默认暴露的端点
5:自定义监控指标

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
队列 消息队列是一种基于生产者-消费者模型的消息传送机制,支持异步通信、解耦系统组件、削峰填谷、可靠投递等功能。消息队列被应用于异步处理、信息通信和解耦等方面,而在微服务和分布式系统中,更是不可缺少的一部分,用于解决服务间的通信和数据交换问题。 Spring Boot提供了丰富的消息队列支持,包括JMS、RabbitMQ和Kafka等,而且还支持将消息队列与其他技术结合使用,例如Spring Cache、Spring Batch和Spring Integration等,从而实现更灵活的系统集成。 JMS Java消息服务(Java Message Service,简称JMS)是一种基于Java语言开发的API,用于在两个或多个分布式系统之间进行异步通信,主要用于解耦消息生成者和消息接收者。JMS提供了许多有用的特性,例如持久性、异步传输、事务支持等,因此被广泛应用于金融、电信、物流等领域。在Spring Boot中,我们可以使用ActiveMQ、HornetQ和IBM MQ等实现JMS消息队列。 RabbitMQ RabbitMQ是一种基于AMQP(Advanced Message Queuing Protocol)协议的消息队列,支持多种客户端语言(包括Java、Python、Ruby、PHP等)和多种通信模式(包括点对点、发布-订阅和RPC等)。RabbitMQ可以应用于各种场景,例如日志收集、任务调度、实时数据处理等。在Spring Boot中,我们可以使用Spring AMQP提供的RabbitMQ支持。 Kafka Kafka是一种分布式的、高吞吐量的消息队列系统,可以处理大量的数据,并支持数据持久化、容错性和扩展性等。Kafka采用了发布-订阅模式,使用主题(topic)来管理消息。Kafka是一种非常适合大规模数据处理的消息队列,尤其适合实时流数据处理、日志收集和数据集成等场景。在Spring Boot中,我们可以使用Spring Kafka提供的Kafka支持。 总结 Spring Boot提供了丰富的消息队列支持,包括JMS、RabbitMQ和Kafka等,应用起来都非常方便。不同的消息队列有不同的特点,应根据业务需求和系统场景来选择合适的消息队列。另外,在集成消息队列时要注意异步处理、事务支持和数据一致性等问题,以确保系统的稳定性和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值