#AMQP

Solo ingenieríasoloingenieria
2026-01-11

🐰 RabbitMQ es el broker de mensajería líder para sistemas distribuidos. Aprende su arquitectura, instalación y cuándo elegirlo sobre Kafka. ¡Potencia tus proyectos! 🚀

Lee más 👉 soloingenieria.org/ingenieria-

Solo ingenieríasoloingenieria
2026-01-11

En sistemas distribuidos, perder un mensaje puede significar perder dinero. RabbitMQ garantiza que cada mensaje llegue a su destino, sin importar las circunstancias. 📨

Konstantin 🔭iamkonstantin
2025-12-14

Does anyone know of a "tiny" message broker? Something that can be hosted as a single binary? No Redis/S3 stuff needed, just queues.

2025-11-27

Dive into the latest releases from #Spring 👉 bit.ly/3K9wRmf

GA releases of Spring Boot, Spring Security, Spring for GraphQL, Spring Integration, Spring Modulith, Spring REST Docs and Spring Batch.

#Java #SpringBoot #SpringSecurity #SpringFramework #ApacheKafka #AMQP #GraphQL

Cees-Jan Kiewiet :rp: :wm:wyri@haxim.us
2025-11-10

Just released v0.6.0-alpha.2 of bunny/bunny the #PHP #AMQP client powered by @reactphp. One bugfix and two new features added in this second alpha namely, Configuration object and DSN support. Full notes here: github.com/jakubkulhan/bunny/r

#ReactPHP

GripNewsGripNews
2025-09-28

🌘 RabbitMQ Streams 引入伺服器端 SQL 過濾功能
➤ 透過伺服器端 SQL 過濾,大幅提升訊息處理效率
rabbitmq.com/blog/2025/09/23/s
RabbitMQ 4.2 透過引入 SQL 過濾表達式,為 Streams 提供強大的伺服器端訊息過濾能力。此功能能大幅減少網路流量和客戶端處理負擔,讓只有消費者真正關心的訊息才能離開伺服器。結合 Bloom 濾波器和 SQL 過濾,其過濾速率可達每秒超過 400 萬則訊息,特別適用於高選擇性且高輸入率的場景。
+ 這個新功能聽起來太棒了!終於可以不用在客戶端做那麼多過濾了。
+ 結合 Bloom 濾波器和 SQL 過濾確實是個聰明的做法,效率提升非常明顯。
1.0

2025-08-14

From a business fix at JPMorgan to a global ISO standard - this #InfoQ video traces the 18-year journey of #AMQP!

Discover the technical & political challenges, and why #OpenStandards are critical for avoiding vendor lock-in.

🔗 Dive into the details: bit.ly/46RI2Jd

#AdvancedMessageQueuingProtocol #Messaging #SOA #SoftwareArchitecture

Cees-Jan Kiewiet :rp: :wm:wyri@haxim.us
2025-08-01

Time for a release Friday release: Bunny v0.6.0-alpha.1 is out with a host of changes since v0.5: github.com/jakubkulhan/bunny/r

It's been a lot of fun doing this major rework on Bunny's internals into a full @reactphp client while using fibers internally to simplify the public API.

#php #amqp #reactphp #rabbitmq #bunny #async

Cees-Jan Kiewiet :rp: :wm:wyri@haxim.us
2025-07-30

Started preparing the Bunny 0.6 release post for later this year, GitHub sponsors get a preview in a few days:

#php #bunny #amqp #rabbitmq #reactphp

Cees-Jan Kiewiet :rp: :wm:wyri@haxim.us
2025-07-28

Seeing the difference in numbers, 10 years apart, countless upgrades and changes to @reactphp, merged Sync and Async clients into one non-blocking (fiber) client, many improvements to PHP since, it hypes me up with excitement for what is next. Also added ext-amqp to the comparison: github.com/jakubkulhan/bunny?t

#PHP #RabbitMQ #ReactPHP #AMQP

Cees-Jan Kiewiet :rp: :wm:wyri@haxim.us
2025-07-27

Added ext-amqp numbers to the table as well! It's awesome to see Bunny outrun a #C extension :micdrop:

#php #amqp

Cees-Jan Kiewiet :rp: :wm:wyri@haxim.us
2025-07-25

Currently re-running benchmarks for Bunny to prepare for the first 0.6 alpha/beta. And hot damn, those numbers changed in 10 years. Also running them for php-amqplib to get a fair and proper update. But I'm so hyped for how much those numbers have improved!

#php #amqp #bunny #reactphp #RabbitMQ

2025-07-16

Тонкие настройки отправки сообщения в RabbitMQ

Сообщения в RabbitMQ — это основные единицы данных, которые передаются между продюсерами и потребителями. Понимание их структуры и возможностей позволяет эффективно управлять потоком данных в распределенных системах. В этой статье мы разберем анатомию сообщений, обязательные и опциональные компоненты, а также реализуем пример отправки объекта с настройкой свойств

habr.com/ru/companies/otus/art

#RabbitMQ #брокер_сообщений #очередь_сообщений #AMQP #обменник_RabbitMQ #direct_exchange #dead_letter_queue #message_TTL #message_priority

2025-05-02

Oh wow, according to @codetrendr (account should start mirroring soon) #LavinMQ was 🚀 trending on #GitHub two weeks ago? 🤩

For those who don't know: it's a #MessageQueue written in :crystal: #CrystalLang supporting #AMQP 0-9-1 (like 🐰 #RabbitMQ) and #MQTT (popular in 🤖 #IoT).

And it was born at @84codes / #84codes. 🙏🏻

lavinmq.com/

#crystallanguage #crystal

Meet LavinMQ - the ultra quick message queue and streaming server built with Crystal! Experience lightning-fast communication #OpenSource #MessageQueue #CrystalLang #DevCommunity
2025-01-31

RabbitMQ на Rust: библиотека Lapin

Привет, Хабр! Сегодня рассмотрим библиотеку Lapin в Rust. Lapin — это библиотека, реализующая протокол AMQP 0.9.1, она помогает взаимодействовать с RabbitMQ .

habr.com/ru/companies/otus/art

#rust #rabbitmq #Lapin #amqp

К вопросу использования #epoll вместо хорошо знакомых и «традиционных» select & poll. Т.е. асинхронной работы с чем-либо посредством polling’а и мультиплексирования.

Недавно пришлось заниматься реализацией очереди событий для AMQP-CPP. В одном из продуктов решено сделать связь агентских частей с основным «контроллером» через #AMQP, в качестве брокера #RabbitMQ (всё стандартно, обычный кластер и TLS-соединения).

Вот только агенты продукта активно используют асинхронно-реактивное программирование с хорошей «горизонтальной масштабируемостью». Когда достигнуто полноценное sharing nothing, не просто горизонтальная масштабируемость через lock-free или wait-free и закон Амдала. Исключается много всего и сразу, как старый-добрый cache ping-pong, так и печаль с false sharing.

Отсюда внутри агентов и своё управление потоками с выделениями памяти. Не только в плане heap (динамической памяти, со своими аллокаторами а-ля #jemalloc от #Facebook), но и приколы вокруг узлов #NUMA и даже huge pages (снижающих «давление» на #TLB, меньше промахов).

Первая же проблема выплыла почти сразу — не реально использовать библиотеку AMQP-CPP с уже предоставляющейся поддержкой #libev, #libuv, #libevent. Несовместимы эти очереди сообщений с имеющейся моделью управления потоками и организации задач на агентах.

Почему был взят epoll

Подход используемый в #epoll выглядит более современно, меньше копирований памяти между user space и kernel space. А при появлении данных в отслеживаемом файловом дескрипторе можно напрямую перейти по указателю на объект класса или структуру данных. Тем самым обходиться без поиска дескриптора по индексным массивам/контейнерам. Сразу же работать с экземплярами объектов оборачивающих нужное #tcp -соединение, того самого, в которое и пришли данные.

И тут обозначилась вторая проблема, что используема AMQP-библиотека не вычитывает данные целиком из потока сокета. Например, забирает данные лишь до тех пор, пока не насытится автомат состояний (finite-state machine), выполняющий парсинг сущностей AMQP-протокола.

Используя #epoll приходится выбирать на какой вариант обработки событий ориентироваться:

  • срабатывание оповещений «по уровню» (level-triggered),
  • выбрасывания событий «по фронту» (edge-triggered).

И беда с библиотекой в очередной раз показала, что нельзя использовать работу «по фронту» (edge-triggered) не изучив досконально работу подсистемы отвечающей за вычитывание данных из файловых дескрипторов. И появление флага EPOLLET в коде является маркером, о том, чтобы проводить аудит использовавшихся решений.

Про Edge Triggered Vs Level Triggered interrupts можно почитать в https://venkateshabbarapu.blogspot.com/2013/03/edge-triggered-vs-level-triggered.html)

#programming #linux #трудовыебудни

David Ansariansd@m.ansd.xyz
2024-12-13

More #AMQP 1.0 features are coming in #RabbitMQ 4.1, including Filter Expressions for consuming from a Stream.

rabbitmq.com/blog/2024/12/13/a

Andrija Petroviccrnkovic@lor.sh
2024-12-05

The initial idea of a #rust #lapin based helper lib was about message processing, seems plain and simple:
!. state the #amqp url, queue_name, types for input and output (and output error, I slipped at this one)
2. the lib starts listening at queue_name queue for input messages
3. input messages produce output messages that get published on queue_name_response queue
4. anyone is free to listen on the queue_name_response queue to catch the responses.

2024-10-18

Does anyone have any good resources on the trade-offs involved in designing the topics, exchanges and queues of message-driven architectures?

A lot of what I'm reading seem to promote an Enterprise Service Bus approach, and maybe I'm a clueless millennial, but that rubs me the wrong way.

#SoftwareArchitecture #SoftwareDevelopment #AMQP

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst