🚀RabbitMQ+redis+Redisson分布式锁+seata实现订单服务
引言 订单服务涉及许多方面,分布式事务,分布式锁,例如订单超时未支付要取消订单,订单如何防止重复提交,如何防止超卖、这里都会使用到。 开启分布式事务可以保证跨多个服务的数据操作的一致性和完整性, 使用分布式锁可以确保在同一时间只有一个操作能够成功执行,避免并发引起的问题。 订单流程(只展示重...[2024/7/22]
利用SpringBoot+rabbitmq 实现邮件异步发送,保证100%投递成功
在之前的文章中,我们详细介绍了 SpringBoot 整合 mail 实现各类邮件的自动推送服务。 但是这类服务通常不稳定,当出现网络异常的时候,会导致邮件推送失败。 本篇文章将介绍另一种高可靠的服务架构,实现邮件 100% 被投递成功。类似的短信自动发送等服务也大体相同。 一、先来一张流程...[2024/7/11]
在C#中使用RabbitMQ做个简单的发送邮件小项目
在C#中使用RabbitMQ做个简单的发送邮件小项目 前言 好久没有做项目了,这次做一个发送邮件的小项目。发邮件是一个比较耗时的操作,之前在我的个人博客里面回复评论和友链申请是会通过发送邮件来通知对方的,不过当时只是简单的进行了异步操作。 那么这次来使用RabbitMQ去统一发送邮件,我的想法...[2024/7/3]
5分钟带你了解RabbitMQ的(普通/镜像)集群
前言 让我们深入探讨RabbitMQ的集群配置,了解各种集群模式的利弊。本次讨论的重点是帮助您快速理解RabbitMQ集群的运作方式,以及选择最适合您需求的模式。好的,话不多说。在RabbitMQ中,即使只有一个节点,该节点的服务也会被作为一个集群来处理。这意味着单节点系统也遵循集群架构的规范,...[2024/6/14]
RabbitMQ 进阶使用之延迟队列 → 订单在30分钟之内未支付则自动取消
开心一刻 晚上,媳妇和儿子躺在沙发上 儿子疑惑的问道:妈妈,你为什么不去上班 媳妇:妈妈的人生目标是前20年靠父母养,后40年靠你爸爸养,再往后20年就靠你和妹妹养 儿子:我可养不起 媳妇:为什么 儿子:因为,呃...,我和你的想法一样 讲在前面 如果你们对 RabbitMQ 感到...[2024/6/3]
Asp .Net Core 系列:集成 CAP + RabbitMQ + MySQL(含幂等性)
简介 官网:https: cap.dotnetcore.xyz/ CAP 是什么? 是一个 EventBus,同时也是一个在微服务或者 SOA 系统中解决分布式事务问题的一个框架。它有助于创建可扩展,可靠并且易于更改的微服务系统。 什么是 EventBus? 事件总线是一种机制,它允许不同的...[2024/5/24]
RabbitMQ集群运维实践
一、RabbitMQ的集群模式 主要有两种:普通集群模式和镜像队列模式。下面分别介绍这两种模式的原理: 1.普通集群模式: 在普通集群模式下,RabbitMQ的集群节点之间主要同步元数据,而不同步存储的消息数据。这意味着消息本身只存储在创建该消息队列的节点上,其他节点只保留队列的元数据信息...[2024/3/20]
开源.NET8.0小项目伪微服务框架(分布式、EFCore、Redis、RabbitMQ、Mysql等)
1、前言 为什么说是伪微服务框架,常见微服务框架可能还包括服务容错、服务间的通信、服务追踪和监控、服务注册和发现等等,而我这里为了在使用中的更简单,将很多东西进行了简化或者省略了。 年前到现在在开发一个新的小项目,刚好项目最初的很多功能是比较通用的,所以就想着将这些功能抽离出来,然后做成一个通...[2024/3/7]
RabbitMQ 使用细节 → 优先级队列与ACK超时
开心一刻 今天坐在太阳下刷着手机 老妈走过来问我:这么好的天气,怎么没出去玩 我:我要是有钱,你都看不见我的影子 老妈:你就不知道带个碗,别要边玩? 我:...... 优先级队列 说到队列,相信大家一定不陌生,是一种很基础的数据结构,它有一个很重要的特点:先...[2024/2/18]
在ASP.NET Core微服务架构下使用RabbitMQ如何实现CQRS模式
前言 在现代软件开发中,微服务架构和CQRS模式都是备受关注的技术趋势。微服务架构通过将应用程序拆分为一系列小型、自治的服务,提供了更好的可伸缩性和灵活性。而CQRS模式则通过将读操作和写操作分离,优化了系统的性能和可维护性。本文小编将为大家介绍如何在ASP.NET Core微服务架构下使用R...[2024/1/10]
万字长文:从 C# 入门学会 RabbitMQ 消息队列编程
RabbitMQ 教程 目录RabbitMQ 教程RabbitMQ 简介安装与配置安装 RabbitMQ发布与订阅模型生产者、消费者、交换器、队列多工作队列交换器类型DirectFanoutTopic交换器绑定交换器消费者、消息属性Qos 、拒绝接收消息确认模式消息持久化消息 TTL 时间队列 ...[2023/11/17]
使用 Docker Compose 部署 RabbitMQ 的一些经验与踩坑记录
前言 RabbitMQ 是一个功能强大的开源消息队列系统,它实现了高效的消息通信和异步处理。 本文主要介绍其基于 Docker-Compose 的部署安装和一些使用的经验。 特点 成熟,稳定 消息持久化 灵活的消息路由 高性能,高可用性,可扩展性高 支持插件系统:RabbitMQ 具有丰...[2023/11/3]
RabbitMQ保姆级教程最佳实践
一、消息队列介绍 1、消息队列概念 1、MQ全称为Me age Queue,消息队列(MQ)是?种应?程序对应?程序的通信?法。 应?程序通过读写出?队列的消息(针对应?程序的数据)来通信,??需专?连接来 链接它们。 2、消息传递指的是程序之间通过在消息中发送数据进?通信,?不是通过直接调...[2023/9/25]
.Net全网最简RabbitMQ操作【强烈推荐】
【前言】 本文自1年前的1.0版本推出以来,已被业界大量科技公司采用。同时也得到了.Net圈内多位大佬的关注+推荐,文章也被多家顶级.Net/C#公众号转载。 现在更新到了7.0版本,更好的服务各位.Neter。 【正文】 支持.Net/.Net Core/.Net Fra...[2023/6/9]
RabbitMQ 工作模式介绍
RabbitMQ 工作模式介绍 1.Hello World RabbitMQ 是一个消息代理:它接受并转发消息。您可以将其视为邮局:当您将要邮寄的邮件放入邮箱时,您可以确定信使最终会将邮件交付给您的收件人。在这个类比中,RabbitMQ是一个邮政信箱,一个邮局和一个信件载体。 RabbitMQ...[2023/5/30]
RabbitMQ系列-Exchange介绍
RabbitMQ系列 RabbitMQ系列-概念及安装 1. Exchange RabbitMQ系列-概念及安装 提到AMQP 0-9-1协议默认支持四种exchange,分别是Direct Exchange,Fanout Exchange,Top...[2023/5/29]
RabbitMQ系列-概念及安装
1. 消息队列 消息队列是指利用队列这种数据结构进行消息发送、缓存、接收,使得进程间能相互通信,是点对点的通信 而消息代理是对消息队列的扩展,支持对消息的路由,是发布-订阅模式的通信,消息的发送者并不清楚消息的接收者,消息可以被多个消费者接收。 使用消息队列的作用如下 异步:对于一些用户的...[2023/5/25]
【问题解决】RabbitMQ启动出现epmd error for host xx.xx: nxdomain (non-existing domain)
问题描述 【k8s】或【普通容器】或【Linux】部署的RabbitMQ启动时出现了 epmd error for host xx.xx: nxdomain (non-existing domain) 错误,MQ无法启动成功。 其中 xx.xx 为无法解析的域名。 RabbitMQ官方还提...[2023/4/28]
RabbitMQ详解(下)
一:序 通过《RabbitMQ详解(上)》一文中,我们可以知道RabbitMQ的一些基本的原生用法,如交换机的创建及消息的投递,但是在企业中我们大部分都是把RabbitMQ集成到SpringBoot中的,所以原生的方式我们则不怎么使用到,下面我将和大家一起走入SpringBoot整合Rabb...[2023/4/26]
RabbitMQ真实生产故障问题还原与分析
RabbitMQ生产故障问题分析 由某一次真实生产环境rabbitMQ故障引发血案,下面复盘问题发生原因以及问题解决方法。 1、 问题引发 由某个服务BI-collector-xx队列出现阻塞,影响很整个rabbitMQ集群服务不可用,多个应用M...[2023/3/6]
RabbitMQ 延迟消息实战
RabbitMQ 延迟消息实战 现实生活中有一些场景需要延迟或在特定时间发送消息,例如智能热水器需要 30 分钟后打开,未支付的订单或发送短信、电子邮件和推送通知下午 2:00 开始的促销活动。 RabbitMQ 本身没有直接支持延迟队列的功能,如果您搜索“如何在 RabbitMQ 中使用延迟...[2023/2/24]
大曝光!从RabbitMQ平滑迁移至Kafka架构设计方案!
历史原因,公司存在多个 MQ 同时使用的问题,我们中间件团队在去年下半年开始支持对 Kafka 和 Rabbit 能力的进行封装,初步能够完全支撑业务团队使用。 鉴于在之前已经基本完全实施 Kafka 管控平台、以及 Kafka 集群迁移管控,我们基本可以认为团队对于 Kafka 的把控能力初...[2023/2/22]
通过Nacos配置刷新进行RabbitMQ消费者在线启停
前提 公司在做一些金融相关业务,某些时候由于数据提供商定期维护或者特殊原因需要暂停某些服务的消费者。之前选用的消息队列技术栈是RabbitMQ,用于微服务之间的消息投递,对于这类需要暂停消费者的场景是选用注释掉消费者Bean中的相应Spring(Boot)注解重新发布来实现,后面需要重新启动消费...[2023/2/13]
如何利用rabbitMq的死信队列实现延时消息
目录前言mq基本的消息模型mq死信队列的消息模型maven依赖配置普通队列和死信队列死信队列消费者发送消息测试测试成功总结 前言 使用mq自带的死信去实现延时消息要注意一个坑点,就是mq只会检测队首的消息的过期时间,假设先放入队列10s过期消息,再放入2s过期。 mq会检测头部10s是否过期...[2023/1/20]
【ELK解决方案】ELK集群+RabbitMQ部署方案以及快速开发RabbitMQ生产者与消费者基础服务
前言: 大概一年多前写过一个部署ELK系列的博客文章,前不久刚好在部署一个ELK的解决方案,我顺便就把一些基础的部分拎出来,再整合成一期文章。大概内容包括:搭建ELK集群,以及写一个简单的MQ服务。 如果需要看一年多之前写的文章,可以详见下列文章链接(例如部署成Windows服务、配置浏览器...[2022/11/17]