消息队列解决方案

这篇具有很好参考价值的文章主要介绍了消息队列解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

  • 什么是消息队列

消息队列是在消息的传输过程中保存消息的容器,简单点理解就是传递消息的队列,具备先进先出的特点,一般用于异步、解耦、流量 削锋等问题,实现高性能、高可用、高扩展的架构

  • 主要概念

Producer:消息生产者,负责产生和发送消息到 Broker。
Broker:消息处理中心,负责消息存储、确认、重试等,一般其中会包含多个 Queue。
Consumer:消息消费者,负责从 Broker中获取消息,并进行相应处理

  • 应用场景

应用解耦:消息队列减少了服务之间的耦合性,不同的服务可以通过消息队列进行通信,而不用关心彼此的实现细节。
异步处理:消息队列本身是异步的,它允许接收者在消息发送很长时间后再取回消息。
流量削锋:当上下游系统处理能力存在差距的时候,利用消息队列做一个通用的”载体”,在下游有能力处理的时候,再进行分发与处理。
日志处理:将消息队列用在日志处理中,比如 Kafka 的应用,解决大量日志传输的问题。
消息通讯:消息队列一般都内置了高效的通信机制,因此也可以用在纯消息通讯,比如实现聊天室等。
消息广播:如果没有消息队列,每当一个新业务方接入,都要接入一次新接口。有了消息队列,我们只需要关心消息是否送达了队列,至于谁订阅,是下游的事,无疑极大地减少了开发和联调的工作量

解决方案

目前主流的消息队列解决方案 :kafka、rocketMq、rabbitmq、redis

  • Kafka:
    消息队列解决方案,微服务解决方案,spring boot

适用于高吞吐量、持久性、分布式的消息处理。
提供分布式、可扩展、高容错性的消息发布与订阅机制。
仅提供基本的消息传递,没有高级的消息处理和排队机制。
适用于大规模数据流处理和实时数据管道。

  • RocketMQ:

消息队列解决方案,微服务解决方案,spring boot

适用于大规模、高吞吐量、可靠性、顺序消息传递。
提供丰富的消息处理功能,包括事务消息、延迟消息等。
具有分布式、高容错性、低延迟、高可靠性的特点。
适用于金融行业等业务场景

  • RabbitMQ:
    消息队列解决方案,微服务解决方案,spring boot

适用于灵活、可靠、异步的消息通信。
提供广泛的消息传递模式(如发布/订阅、点对点)和通道管理功能。
支持多种协议(如AMQP、STOMP、MQTT等)。
适用于任务队列、工作流、事件驱动等异步消息处理场景。

  • Redis:

Redis使用内存存储,支持快速读写,适用于消息量较大、消息较小、读写频繁的系统

  • 总结

吞吐量高(十万级)、可靠性高 可以选择rokcetMq
吞吐量高(十万级)、可靠性相对较高 可以选择kafka 比如日志场景
吞吐量小(万级) 、可靠性相对低(有较低的概率丢失数据),中小企业可以用
redis 一般用于实时性较高的场景,比如解决聊天消息分布式问题,就可以用redis来解决

可靠性

  • 生产者
    确认机制
    对于没有确认或者失败,进行兜底处理,比如记录在数据中,或者改变数据库某个字段的状态
  • 消息队列
    持久化数据
  • 消息者
    消费失败,进行重试或者消息确认,进行再次消费

消息重复

  • redis去重

  • mysql唯一去重

  • 分布式锁

    注:以上图片来源于网络,如侵权,速告知文章来源地址https://www.toymoban.com/news/detail-684176.html

到了这里,关于消息队列解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RocketMQ on openEuler 提供高性能消息队列的稳定性解决方案

    RocketMQ on openEuler,是一种将 RocketMQ 消息中间件通过容器化的方式部署在 openEuler 操作系统上运行,借助 openEuler 系统对于 OS 缓存回收效率增强的内核特性,提升消息中间件在面向超大规模高并发、高吞吐量、低延迟场景下稳定性和可靠性的软件解决方案。 移动云 RocketMQ 消息

    2024年02月11日
    浏览(54)
  • Spring Boot 实战 | Spring Boot整合JPA常见问题解决方案

    专栏集锦,大佬们可以收藏以备不时之需: Spring Cloud 专栏: Python 专栏: Redis 专栏: TensorFlow 专栏: Logback 专栏: 量子计算: 量子计算 | 解密著名量子算法Shor算法和Grover算法 AI机器学习实战: AI机器学习实战 | 使用 Python 和 scikit-learn 库进行情感分析 AI机器学习 | 基于lib

    2024年02月04日
    浏览(60)
  • Spring Boot循环依赖的症状和解决方案

    🏆 文章目标:了解Spring Boot 循环依赖的原因,并学习下解决方案 🍀 Spring Boot循环依赖的症状和解决方案 ✅ 创作者:Jay… 🎉 个人主页:Jay的个人主页 🍁 展望:若本篇讲解内容帮助到您,请帮忙点个赞,再动动您的小手关注下吧,您的支持是我继续写作的最大动力,谢谢

    2023年04月22日
    浏览(37)
  • Spring Boot 多数据源及事务解决方案

    一个主库和N个应用库的数据源,并且会同时操作主库和应用库的数据,需要解决以下两个问题: 如何动态管理多个数据源以及切换? 如何保证多数据源场景下的数据一致性(事务)? 本文主要探讨这两个问题的解决方案,希望能对读者有一定的启发。 通过扩展Spring提供的抽象

    2024年02月10日
    浏览(41)
  • Spring Boot 解决跨域问题的 5种方案

     跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。 在请求时,如果出现了以下情况中的任意一种,那么它就是跨域请求: 协议不同,如 http 和 https; 域名不同; 端口不同。 也就是说, 即使域名相同,如果一个使用的是

    2024年02月15日
    浏览(54)
  • maven打包spring boot jar没有 BOOT-INF目录解决方案

    ##查看项目里面是否有引入spring-boot-maven-plugin plugin           groupIdorg.springframework.boot/groupId           artifactIdspring-boot-maven-plugin/artifactId         /plugin ##如果有引入,还不行 ##查看pom.xml是否有pluginManagement标签,去掉pluginManagement就行了 ##去掉pluginManagement标签

    2024年01月18日
    浏览(44)
  • Spring Boot读取resource目录下文件失败解决方案及分析

    最近有个需求,就是需要从resource目录下读取文件返回给用户。在idea中运行时,有些resource下文件读取工具类能够正常获取读取到文件。但是通过java –jar的方式去运行jar包,此时resource下文件读取工具类读取文件就失效了。通过查询搜索,了解到了是读取的方式导致文件读取

    2024年02月05日
    浏览(57)
  • Spring Boot 工程开发常见问题解决方案,日常开发全覆盖

    本文是 SpringBoot 开发的干货集中营,涵盖了日常开发中遇到的诸多问题,通篇着重讲解如何快速解决问题,部分重点问题会讲解原理,以及为什么要这样做。便于大家快速处理实践中经常遇到的小问题,既方便自己也方便他人,老鸟和新手皆适合,值得收藏 😄 https://mvnrepo

    2024年03月27日
    浏览(64)
  • Spring Boot系统之高可用限流实现解决方案

    1.什么是限流 限流是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。 为什么需要限流 其实限流思想在生活中随处可见,例如景区限流,防止人满为患。热门餐饮需要排队就餐等。回到互联网网络上,同样也

    2024年02月11日
    浏览(39)
  • Spring Boot 项目优雅关闭(两种完善解决方案附带示例代码)

    Spring Boot 项目优雅关闭常用两种方案,一种是使用 kill -2 和 -15 发送程序终止信号,另一种是使用 spring-boot-actuator 包提供一个优雅下线接口,这两种方案根据自己喜好来,万不得已别用 kill -9 就行,个人推荐第一种,对于Spring Boot 项目来说两种方法只是入口不同,最终关闭逻

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包