随笔分类 - RabbitMQ
发表于 2023-09-10 19:51阅读:18评论:0推荐:0
摘要:【RabbitMQ总结】 【一】消息队列引入 什么是消息队列 消息队列解决的问题 常见的消息队列比较 【二】RabbitMQ安装 什么是 RabbitMQ 服务器原生安装 RabbitMQ 客户端安装 RabbitMQ Windows 安装 RabbitMQ RabbitMQ 设置用户名和密码 Ra
阅读全文 »
发表于 2023-09-10 19:39阅读:60评论:0推荐:0
摘要:【一】引入 要理解微服务,首先要先理解不是微服务的那些。 通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。 从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。 本文将以一个网上超市应用为例来说明这一过程。 【二】最初的需求 【1】萌芽 几年前,小明和小皮一起创业
阅读全文 »
发表于 2023-09-10 19:39阅读:648评论:0推荐:1
摘要:【一】RabbitMQ Producer:生产者,消息的提供者 Consumer:消费者,消息的使用者 Broker:MQ服务器,管理队列、消息及相关信息 Message:消息,程序间的通信的数据 Queue:队列,消息存放的容器,消息先进先出 Exchange:交换机,用于分发消息 【二】Rabb
阅读全文 »
发表于 2023-09-10 19:38阅读:229评论:0推荐:0
摘要:【一】发布订阅 【1】发布者 import pika # 【1】创建连接并设置认证信息 credentials = pika.PlainCredentials("admin","admin") connection = pika.BlockingConnection(pika.ConnectionP
阅读全文 »
发表于 2023-09-10 19:38阅读:25评论:0推荐:0
摘要:【一】闲置消费介绍 正常情况如果有多个消费者,是按照顺序第一个消息给第一个消费者,第二个消息给第二个消费者 但是可能第一个消息的消费者处理消息很耗时,一直没结束,就可以让第二个消费者优先获得闲置的消息 传统情况下,如果有多个消费者,消息会按顺序依次发送给每个消费者。 但是,如果第一个消费者处理消息的
阅读全文 »
发表于 2023-09-10 19:38阅读:82评论:0推荐:0
摘要:【一】消息安全之ack ACK是一种确认机制,用于确保消息在消费者接收后被正确处理。 当消费者接收到消息并成功处理时,它发送一个ACK(Acknowledgement)给生产者,表示消息已经处理完毕。 只有在收到ACK之后,生产者才会从队列中删除该消息。 我们使用RabbitMQ作为消息中间件,并通
阅读全文 »
发表于 2023-09-10 19:37阅读:16评论:0推荐:0
摘要:【一】基于Queue实现生产者消费者模型 import queue import threading message = queue.Queue(10) def producer(i): while True: message.put(i) def consumer(i): while True:
阅读全文 »
发表于 2023-09-10 19:37阅读:138评论:0推荐:0
摘要:【一】RabbitMQ是什么 官网:https://www.rabbitmq.com/getstarted.html 【1】介绍 RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 AMQP :Advanced Message Queue,高级消息队列协议。 它是应用层协议
阅读全文 »
发表于 2023-09-10 19:37阅读:17评论:0推荐:0
摘要:【一】什么是消息队列 消息队列是一种基于"先进先出"(FIFO)原则的数据结构,用于在分布式系统中进行异步通信和解耦功能模块。 它提供了一种可靠的方式来传递和存储消息,确保消息在发送和接收之间的可靠性和顺序性。 【二】消息队列解决什么问题 【1】应用解耦 通过消息队列,可以将单体应用拆分成多个小功能
阅读全文 »