Best of RabbitMQ โ€” 2024

  1. 1
    Article
    Avatar of gcgitconnectedยท2y

    Message Queues in System Design

    Message queues are durable components that support asynchronous communication, helping to decouple events and handle tasks without immediate processing. This allows better scalability and durability, especially under high traffic. Different types of queues like FIFO and priority queues, as well as different models like push-based and pull-based queues, provide versatile solutions for various needs. Examples of message queues include RabbitMQ for versatility, Kafka for high throughput, and Amazon SQS for managed cloud-based services.

  2. 2
    Article
    Avatar of freecodecampfreeCodeCampยท2y

    How to Implement Message Queues in Your Backend Applications

    Message queuing is essential for backend development to address scalability issues and ensure orderly communication among services. This post explains the concept of message queues, its use cases in industries like fintech and healthcare, and popular tools such as RabbitMQ and Apache Kafka. A demo project using RabbitMQ with Node.js is also provided, illustrating how to build a message publisher and consumer for seamless communication.

  3. 3
    Article
    Avatar of amandeep58Backend Developerยท1y

    ๐Ÿš€ Master RabbitMQ: Build Efficient Message Queues! ๐Ÿ‡๐Ÿ“ฉ

    Learn how RabbitMQ can help decouple microservices, handle asynchronous tasks, and build resilient systems. The tutorial covers setting up RabbitMQ with Docker and creating producers and receivers to eliminate bottlenecks in your backend architecture.

  4. 4
    Video
    Avatar of youtubeYouTubeยท2y

    When to Use Kafka or RabbitMQ | System Design

    Kafka and RabbitMQ serve different purposes in distributed systems. Kafka is designed for high-throughput stream processing, fanning out messages to multiple consumers, and handling uniform, short processing tasks. RabbitMQ is a traditional message queue system better suited for complex routing, long-running tasks, and handling sporadic data flow with acknowledgments for message processing. Choose Kafka for scenarios requiring high-speed, real-time data distribution and RabbitMQ for more controlled message queuing and processing.

  5. 5
    Video
    Avatar of communityCommunity Picksยท2y

    Apache Kafka vs RabbitMQ Performance (Latency - Throughput - Saturation)

    A detailed comparison between Apache Kafka and RabbitMQ, focusing on latency, throughput, CPU and memory usage, and disk operations. The test reveals that RabbitMQ offers lower latency, while Kafka provides higher throughput and resilience. The comparison extends to RabbitMQ Streams, where Kafka again shows superior performance. The post provides a comprehensive analysis suited for selecting the right messaging broker based on specific needs.

  6. 6
    Video
    Avatar of codeheimcodeHeimยท2y

    #58 Golang - Asynchronous Messaging with RabbitMQ

    Learn how to integrate RabbitMQ with Go for building scalable distributed systems. The post covers the basic architecture of RabbitMQ, how to set up a producer to send messages, and a consumer to receive messages using the AMQP protocol. The tutorial uses the Gin framework to set up a web server and demonstrates sending and receiving messages through HTTP requests. Additionally, it discusses handling errors and system interrupts.

  7. 7
    Article
    Avatar of itnextITNEXTยท2y

    The streaming bridges โ€” A Kafka, RabbitMQ, MQTT, and CoAP example

    This post provides an in-depth overview of various data streaming protocols including Kafka, RabbitMQ, MQTT, and CoAP, detailing their history, implementation, and use cases. The discussion highlights the differences between push and pull mechanisms, particularly in the context of Kafka and RabbitMQ. Detailed scenarios and examples, including IoT applications, are used to illustrate the practicality and utility of these protocols. Additionally, a practical example using Docker, Apache Spark, and various other tools is provided to demonstrate a comprehensive streaming architecture.

  8. 8
    Article
    Avatar of architectureweeklyArchitecture Weeklyยท2y

    Deduplication in Distributed Systems: Myths, Realities, and Practical Solutions

    Duplication in distributed systems is a common issue due to retries, processing failures, and fault tolerance mechanisms. Deduplication aims to identify and eliminate duplicate messages, but it comes with challenges that impact scalability, performance, and reliability. The post explores how deduplication is implemented in technologies like Kafka and RabbitMQ, and discusses the trade-offs and complexities involved. It also highlights the concept of exactly-once processing as a more realistic goal than exactly-once delivery, emphasizing patterns like idempotency and transactional outboxes to achieve robust message handling.

  9. 9
    Video
    Avatar of webdevcodyWeb Dev Codyยท2y

    How to horizontally scale up websocket servers

    Learn how to horizontally scale WebSocket servers to handle high traffic. The post discusses setting up WebSocket servers for real-time communication, handling stateful connections, and implementing a message broker like RabbitMQ to distribute messages across multiple servers, ensuring scalability and high availability.

  10. 10
    Video
    Avatar of communityCommunity Picksยท2y

    Building Change Data Capture (CDC) in .NET with Debezium + RabbitMQ

    Milan introduces Change Data Capture (CDC), which tracks and reacts to database changes in real-time or near-real-time. He covers setting up CDC with PostgreSQL, RabbitMQ, and MassTransit in a .NET application. The guide includes configuring Docker containers, setting environment variables, and using transformations in Debezium to route messages accurately. Despite initial challenges, the setup enables streaming database changes to RabbitMQ, which are then consumed by a .NET app.

  11. 11
    Article
    Avatar of medium_jsMediumยท2y

    Event-Driven Architecture in Go (golang)

    This post explains Event-Driven Architecture using RabbitMQ, Domain-Driven Design, and Clean Architecture. It covers the concepts of events, commands, and actors, and provides code examples in Go (golang) to create events, entities, publishers, DTOs, use cases, controllers, and more. It also demonstrates how to listen to events and execute commands based on them.