当前位置: 首页 > news >正文

网站后台工程师网络营销图片素材

网站后台工程师,网络营销图片素材,广州做企业网站哪家好,微信公众号小说网站怎么做目录 引言一、 初识 RabbitMQ 与工作模式二、 简单模式 (Simple Queue) 详解#xff1a;最直接的“点对点快递” #x1f4ee;三、 Java (Spring Boot) 代码实战#xff1a;让小兔子跑起来#xff01; #x1f430;#x1f3c3;‍♂️四、 深入理解#xff1a;简单模式的… 目录 引言一、 初识 RabbitMQ 与工作模式二、 简单模式 (Simple Queue) 详解最直接的“点对点快递” 三、 Java (Spring Boot) 代码实战让小兔子跑起来 ‍♂️四、 深入理解简单模式的幕后功臣 ️‍♂️五、 简单模式的局限性与进阶 六、 总结简单而不平凡的开始 我的其他文章也讲解的比较有趣如果喜欢博主的讲解方式可以多多支持一下感谢 了解 MQ 请看 【MQ篇】初识MQ 其他优质专栏 【SpringBoot】【多线程】【Redis】【✨设计模式专栏已完结】…等 如果喜欢作者的讲解方式可以点赞收藏加关注你的支持就是我的动力 ✨更多文章请看个人主页 码熔burning 引言 在分布式系统的世界里消息传递扮演着至关重要的角色。RabbitMQ 作为一款流行的开源消息队列中间件以其可靠性、灵活性和易用性赢得了广大开发者的青睐。在 RabbitMQ 的众多工作模式中“简单模式”Simple Queue是最基础也是最核心的概念。本文将带你深入了解 RabbitMQ 的简单模式通过生动的比喻和详尽的 Java (Spring Boot) 代码示例让你彻底掌握这只勤劳小兔子的极简快递服务➡️‍♀️ RabbitMQ初体验请看里面有安装步骤【MQ篇】RabbitMQ初体验 一、 初识 RabbitMQ 与工作模式 什么是 RabbitMQ—— 消息传递的“快递公司” 回顾一下我们之前的幽默比喻RabbitMQ 就像一家高效可靠的“快递公司”负责在不同的应用程序“寄件人”和“收件人”之间传递“包裹”消息。它确保消息能够安全、可靠地送达目的地而无需应用程序之间直接耦合。 RabbitMQ 的工作模式小兔子的多种“送货方式” RabbitMQ 提供了多种工作模式以适应不同的消息传递场景。每种模式都像小兔子采用不同的“送货方式”来应对不同的需求。简单模式是其中最直接的一种也是我们理解其他更复杂模式的基础。‍♂️ 二、 简单模式 (Simple Queue) 详解最直接的“点对点快递” 概念消息传递的“单行道” ️ 简单模式就像一条单行道消息从一个生产者直接发送到一个特定的队列然后被一个或多个消费者接收和处理。它是 RabbitMQ 中最直接、最基础的消息传递方式。 角色快递服务中的关键参与者 ‍‍ 生产者 (Producer) 消息的发送者它创建消息并将其发送到指定的队列。就像寄件人打包好“包裹”准备寄出。✍️队列 (Queue) 消息的容器用于存储等待被消费者处理的消息。它就像快递公司的“中转站” 或你家门口的“信箱” 。消费者 (Consumer) 消息的接收者它连接到队列并从中获取消息进行处理。就像收件人等待着接收自己的“包裹”。 工作流程消息是怎样“送达”的 流程图可以更清晰哦 连接 (Connect) 生产者和消费者首先需要与 RabbitMQ 服务器建立连接就像去快递公司寄件 ‍♂️ 或等待快递员上门 ‍♀️。声明队列 (Declare Queue) 生产者和消费者都需要声明他们将要使用的队列。如果队列不存在RabbitMQ 会创建它。如果队列已存在声明操作不会有任何影响。这就像告诉快递公司你要寄往哪个地址 或者你住在哪个地址 。发送消息 (Publish) 生产者创建消息并将其发送到指定的队列。在简单模式下消息直接投递到队列不需要指定交换机。✉️➡️接收消息 (Consume) 消费者订阅指定的队列一旦有新消息到达RabbitMQ 会将消息推送给消费者。处理消息 (Process) 消费者接收到消息后执行相应的业务逻辑。确认 (Acknowledge) 为了保证消息的可靠性消费者在成功处理消息后通常会向 RabbitMQ 发送确认。✅ 核心特点简单、直接、可靠 简单性 消息直接从生产者到队列再到消费者没有复杂的路由规则。 সরল直接性 生产者明确指定消息要发送到的队列。 ➡️可靠性 通过队列的存储和消费者的确认机制保证消息不会丢失在适当的配置下。 安心 适用场景简单任务处理的“直通车” 简单模式适用于对消息传递的实时性要求不高且只需要简单的一对一或一对多但每个消息只被一个消费者处理的任务处理场景例如 发送欢迎邮件。处理用户上传的文件。 执行简单的后台任务。 ⏱️记录应用程序日志。 三、 Java (Spring Boot) 代码实战让小兔子跑起来 ‍♂️ 接下来我们通过一个基于 Spring Boot 的 Java 示例来演示 RabbitMQ 简单模式的实际应用。 项目依赖 (pom.xml) 首先在你的 pom.xml 文件中引入 Spring AMQP 的依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId /dependencyRabbitMQ 连接配置 (application.properties) 配置 RabbitMQ 的连接信息 spring:rabbitmq:host: 写你部署的主机ip地址port: 5672username: guestpassword: guest生产者 (MessageSender.java) 创建一个发送消息的服务组件 import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;Service public class MessageSender {Autowiredprivate RabbitTemplate rabbitTemplate;private static final String QUEUE_NAME basic.queue; // 定义队列名称 ️public void sendMessage(String message) {System.out.println( [Producer] Sending: message to QUEUE_NAME ➡️);rabbitTemplate.convertAndSend(QUEUE_NAME, message);System.out.println( [Producer] Message sent! ✅);} }消费者 (MessageReceiver.java) 创建一个接收消息的组件 import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component;Component public class MessageReceiver {RabbitListener(queues basic.queue) // 监听 basic.queue 队列 public void receiveMessage(String message) {System.out.println( [Consumer] Received: message from basic.queue );try {Thread.sleep(1000); // 模拟处理时间 ⏳} catch (InterruptedException e) {Thread.currentThread().interrupt();}System.out.println( [Consumer] Done processing: message );} }启动和测试 (RabbitmqSimpleDemoApplication.java) 在你的 Spring Boot 主类中注入 MessageSender 并发送消息 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class RabbitmqSimpleDemoApplication implements CommandLineRunner {Autowiredprivate MessageSender sender;public static void main(String[] args) {SpringApplication.run(RabbitmqSimpleDemoApplication.class, args);}Overridepublic void run(String... args) throws Exception {sender.sendMessage(Hello RabbitMQ Simple Mode! );sender.sendMessage(Another Simple Message! );} }运行你的 Spring Boot 应用你将在控制台看到生产者发送的消息和消费者接收并处理的消息。 四、 深入理解简单模式的幕后功臣 ️‍♂️ 默认交换机 (Default Exchange) 在简单模式下我们并没有显式地声明和使用交换机。实际上RabbitMQ 存在一个默认的匿名交换机名称为空字符串 。当我们使用 rabbitTemplate.convertAndSend(queueName, message) 发送消息时消息会被发送到这个默认交换机并且路由键被自动设置为队列的名称。默认交换机会根据路由键即队列名称将消息直接投递到匹配的队列。 队列的声明确保“信箱”存在 在生产者和消费者端都进行队列声明是一个良好的实践。它可以确保在消息发送和接收之前队列已经存在。如果队列不存在RabbitMQ 会自动创建它。✅ 消费者的确认机制 (Acknowledgement)保障消息可靠性 ️ 在 Spring AMQP 中默认的确认模式是自动确认。这意味着当消息被消费者接收到后Spring AMQP 会自动向 RabbitMQ 发送确认。然而在生产环境中为了保证消息的可靠性建议配置为手动确认并在消费者成功处理消息后显式地发送确认。这可以通过配置 listener.ack-mode 或在代码中手动发送确认来实现。 五、 简单模式的局限性与进阶 简单模式虽然简单易懂但在一些复杂的场景下可能存在局限性 耦合性 生产者需要知道确切的队列名称。 灵活性不足 无法根据消息的类型或内容进行更灵活的路由。 ️➡️ 为了克服这些局限性RabbitMQ 提供了其他更高级的工作模式例如工作队列模式 ‍♂️‍♀️、发布/订阅模式 、路由模式 ➡️ 和主题模式 ➡️ 等。这些模式引入了交换机和绑定等概念实现了更灵活和强大的消息路由功能。我们将在后续的文章中逐步探讨这些更高级的模式。 六、 总结简单而不平凡的开始 RabbitMQ 的简单模式以其直观性和易用性成为了我们踏入消息队列世界的良好起点。它就像一只勤劳的小兔子 默默地将消息从一个地方安全地送到另一个地方。通过本文的讲解和代码示例相信你已经对 RabbitMQ 的简单模式有了全面的理解。在掌握了这一基础之后让我们一起期待探索 RabbitMQ 更多精彩的工作模式吧✨
http://www.zqtcl.cn/news/607615/

相关文章:

  • 苏州高端网站建设公司建筑人才网报名平台
  • 商品网站开发需求表乐清公共
  • 省级示范校建设网站网站制作企业有哪些公司
  • 单位做网站怎么做510企业网站系统源码
  • 福建人力资源建设网站未成年在线观看视频播放免费
  • 网站站内logo怎么做朋友圈广告30元 1000次
  • 绍兴做网站北京做公司网站
  • 青浦区网站建设公司商丘网站建设费用
  • 百度网站是怎么建设的wordpress媒体主题
  • 孝感网站建设xgsh国内比百度好的搜索引擎
  • 阅读网站怎样做网站右侧固定标题怎么做
  • 网站开发多少钱农民wordpress acf破解版
  • 厦门网站建设培训云南最便宜的网站建设
  • 吉安手机网站建设html网页布局
  • wordpress英文文章格式怎样给网站做优化
  • 新网站友链网店托管公司
  • 期末作业制作网站网站上传根目录
  • 新网站不被收录的原因兰州网络seo公司
  • 男生可以做网站编辑工作吗网站域名跟谁买
  • 我市精神文明建设的门户网站做网站需要写代码
  • 新网站推广网站搜索引擎优化的步骤
  • 网站建设20推广公司网站建设推广方案
  • 如何设计酒店网站建设好的交互网站
  • 怎么把自己的网站放到百度上九亭做网站
  • 张家界旅游网站建设网页设计作品欣赏分析
  • 订阅号自定义可以做链接网站不做网站dreamwa
  • 电子商务网站规划的原则做网站的集群方案
  • 山东建设银行怎么招聘网站自己做商城网站
  • 建设网站成本预算网站页面设计尺寸
  • 微官网和微网站首页房产网怎么查到房产