amqp相关内容

何时使用直接交换而不是扇出交换

据我所知,直接交换没有合适的用例,就像你可以用它做的任何事情一样,你可以用扇出交换做任何事情,只是更具可扩展性. 更具体地说,在阅读 RabbitMQ in Action 时,作者多次提到类似的用例 - “假设当用户上传图片时,您需要生成缩略图.但是后来的营销也告诉你上传照片奖励积分.使用 RabbitMQ,您只需创建另一个队列,而无需在生产者端执行任何操作!" 但这只有如果你有远见在 ..
发布时间:2022-01-11 17:51:07 其他开发

RPC 模型中的correlationId 和临时队列 - AMQP

我正在使用 RabbitMQ 在 AMQP 中阅读 RPC-Model.本教程创建一个临时队列以及 correlationId.临时队列是唯一的,那我们为什么需要correlationId呢?我是 JMS 人,在 JMS 中,我们通过两种方式请求/响应: 为每个请求/响应创建临时队列 创建一个响应队列并使用 correlationId 和消息选择器. 有人能解释一下为什么我们在 ..
发布时间:2022-01-11 17:50:25 其他开发

rabbitmq 的 REST API

有没有办法让我从 $.ajax 向 RabbitMQ 发送数据? 我的应用程序由数千个 Web 客户端(用 js 编写)和 WCF REST 服务组成,现在我想弄清楚如何为我的应用程序创建一个可扩展的点.这个想法是有一个 rabbitmq 实例,它从一侧接收来自 js 客户端的消息,以及从队列中获取待处理消息的 WCF 工作流服务实例. 我知道 AMQP 和 HTTP 是完全不同的东西 ..
发布时间:2022-01-11 17:49:35 C#/.NET

Rails 应用程序中的 AMQP 订阅者

是否可以使用我的 Rails 应用程序启动 AMQP 订阅者?可能通过初始化程序或其他方式. 我想让它同时运行,它还可以与 Rails 模型交互.下面是我的意思的伪代码示例. queue.subscribe 做 |msg,body|Foo.create(....)结尾 解决方案 我通常通过加载 rails 环境的单独消息传递守护程序来完成此操作. 因此,rails_root/sc ..
发布时间:2022-01-11 17:49:20 其他开发

使用 RabbitMq 锁定和批量获取消息

我正在尝试以更非传统的方式使用 RabbitMq(尽管此时我可以根据需要选择任何其他消息队列实现).消费者没有将 Rabbit 推送消息留给我的消费者,而是连接到一个队列并获取一批 N 条消息(在此期间它会消耗一些消息并可能拒绝一些消息),然后它会跳转到另一个队列,依此类推.这样做是为了冗余.如果某些消费者崩溃,则所有消息都保证会被其他消费者消费. 问题是我有多个消费者,我不希望他们在同一个 ..
发布时间:2022-01-11 17:49:01 其他开发

我需要在我的单元测试中模拟一个 RabbitMQ

我在我的项目中使用 RabbitMQ. 我的消费者中有rabbitMQ客户端部分的代码,连接需要一个tls1.1来连接真正的MQ. 我想在我的 JUnit 测试中测试此代码并模拟向我的消费者传递的消息. 我在 google 中看到了几个使用不同工具的示例,骆驼兔或 activeMQ 是如何使用的,但此工具适用于 amqp 1.0,而 rabbitMQ 仅适用于 amqp 0.9. ..
发布时间:2022-01-11 17:48:17 Java开发

在android中使用rabbitmq进行聊天

我们已经在android中实现了rabbitmq聊天.但是rabbitmq的java客户端很耗电.rabbitmq适合安卓聊天吗?我们已经使用直接交换个人队列和个人路由键.rabbitmq中一对一聊天的最佳设计模式是什么.以及减少电池使用量的方法 解决方案 我不认为直接使用 RabbitMQ 来开发聊天是更好的解决方案. 还有其他更轻松的解决方案请阅读此帖子MQTT. 另一种标 ..
发布时间:2022-01-11 17:46:19 移动开发

使用 RabbitMQ 的工作池和多租户队列

我正在开发一个基于多租户云的 Web 应用程序(许多客户端,每个客户端都有自己独立的“环境",但都在共享的硬件集上),我们正在为用户引入该功能批处理工作以供以后处理.批处理工作的类型真的不重要,只是数量足够,没有工作队列就不太实际.我们选择了 RabbitMQ 作为我们的底层队列框架. 因为我们是一个多租户应用程序,我们不一定希望客户端能够为另一个客户端造成冗长的队列处理时间,所以我们提出的 ..
发布时间:2022-01-11 17:45:08 其他开发

如何在 RabbitMQ 中撤回消息?

我有类似 RabbitMQ 上的作业队列,并且在请求取消作业时,我想撤回尚未开始处理的任务(它们的消息尚未被确认),这对应于从它们被路由到的队列中收回这些消息. 我没有在 AMQP 或 RabbitMQ API 中找到这个功能;也许我搜索得不够好?还是我必须使用解决方法(这并不难,但仍然如此)? 解决方案 我会通过让工作人员检查某种权威数据源来确定工作是否应该继续来解决这种情况.例如 ..
发布时间:2022-01-11 17:43:18 其他开发

RabbitMQ:消息保持“未确认";

我的 Java 应用程序将消息发送到 RabbitMQ 交换器,然后交换器将消息重定向到绑定队列.我将 Springframework AMQP java 插件与 RabbitMQ 一起使用. 问题:消息进入队列,但它停留在“Unacknowledged"状态,它永远不会变成“Ready". 可能是什么原因? 解决方案 Unacknowledged 消息意味着它已被您的消费者读 ..
发布时间:2022-01-11 17:42:38 Java开发

AMQP 1.0 的实现在哪里?等待有意义吗?

我正在研究找出适合我们未来产品的消息传递解决方案,但我真的无法弄清楚这一点. 有很多 AMQP 0.9.1 实现(RabbitMQ、Apache Qpid、OpenAMQ 等等),但没有 AMQP 1.0 实现,尽管 1.0 已在 2011 年 10 月完成.好吧,除了 SwiftMQ [1]. 阅读 1.0 后,它似乎与 1.0 之前的规范大相径庭,因此似乎可以理解的是,对运行良好的 ..
发布时间:2022-01-11 17:42:11 其他开发

多个带有 Spring Boot 的 Rabbitmq 队列

来自 Spring Boot 教程:https://spring.io/guides/gs/messaging-rabbitmq/p> 他们给出了一个仅创建 1 个队列和 1 个队列的示例,但是,如果我希望能够创建多于 1 个队列怎么办?怎么可能? 显然,我不能两次创建同一个 bean: @Bean队列队列(){返回新队列(queueNameAAA,false);}@豆角,扁豆队列队列( ..
发布时间:2022-01-11 17:41:12 其他开发

用于 AMQP 的优秀 Python 库

您能否推荐用于访问 AMQP (RabbitMQ) 的 Python 库?根据我的研究,pika 似乎是首选. 解决方案 Pika 是 RabbitMQ 推荐库,py-ampqlib 也被提及.根据您使用 Rabbit 的目的,您可能还想查看 Celery(专用于分布式队列的客户端库). 同样,根据使用情况,您可能还想查看 Apache 的 qpid,它是一个完整的 AMPQ-基于客 ..
发布时间:2022-01-11 17:40:01 Python

RabbitMQ:快速生产者和慢消费者

我有一个应用程序,它使用 RabbitMQ 作为消息队列在两个组件之间发送/接收消息:发送者和接收者.发件人以非常快的方式发送消息.接收方接收到消息,然后执行一些非常耗时的任务(主要是为非常大的数据量写入数据库).由于接收者需要很长时间才能完成任务然后检索队列中的下一条消息,因此发送者将继续快速填满队列.所以我的问题是:这会导致消息队列溢出吗? 消息消费者如下所示: public void ..
发布时间:2022-01-11 17:39:24 Java开发

嵌入式 AMQP Java 代理

我正在尝试为连接到 RabbitMQ 代理的 Scala/Java 应用程序创建集成测试.为了实现这一点,我想要一个能够在每次测试之前启动和停止的 AMQP 嵌入式代理.最初我尝试将 ActiveMQ 作为 AMQP 的嵌入式代理引入,但是该应用程序使用 RabbitMQ,因此只使用 AMQP 0.9.3 版,而 ActiveMQ 需要 AMQP 1.0 版. 我可以使用另一个嵌入式代理来代 ..
发布时间:2022-01-11 17:38:37 Java开发

在多租户系统中,如何在 RabbitMQ 中将队列设为私有/安全?

我已经阅读了 RabbitMQ 提供的 Get Started 指南,甚至贡献了第六个示例stormed-amqp,所以对知识有所了解关于 AMQP. 但是,该指南并不全面,并且避免了身份验证和授权等内容. 我们正在设计一个多租户系统,它将在 RPC 类型的情况下使用 RabbitMQ.这种 RPC 实现的不同之处可能在于远程过程实际上是系统上的其他租户程序. 基本上,我想隔离数 ..
发布时间:2022-01-11 17:38:20 其他开发