Catalog
concept#Data#Platform#Loose Coupling#System Integration

Message Broker

A message broker is a software framework that facilitates the exchange of data between different systems.

A message broker enables software applications to communicate across network protocols and exchange messages asynchronously.
Established
Medium

Classification

  • Medium
  • Technical
  • Architectural
  • Intermediate

Technical context

HTTP APIsDatabasesCloud Services

Principles & goals

Loose coupling of components.Messages should be processed asynchronously.Achieve scalability through distribution.
Build
Domain, Team

Use cases & scenarios

Compromises

  • Broker overload can lead to message loss.
  • Corrupted messages can destabilize the system.
  • Security vulnerabilities with insecure protocols.
  • Document communication protocols.
  • Regular performance monitoring.
  • Prepare for load spikes.

I/O & resources

  • Source Messages
  • Message Formats
  • Network Configuration
  • Target Messages
  • Logged Events
  • Notifications

Description

A message broker enables software applications to communicate across network protocols and exchange messages asynchronously. This promotes loose coupling and improves system architecture.

  • Facilitates integration between systems.
  • Increases flexibility and adaptability.
  • Optimizes resource utilization.

  • Leads to increased communication overhead.
  • Can introduce complexities in implementation.
  • Dependency on the broker software.

  • Throughput

    The number of messages that can be processed per unit time.

  • Response Time

    The time taken to process a message and respond.

  • Message Loss Rate

    The percentage of messages lost during transmission.

Apache Kafka in Action

An example of using a message broker for processing real-time data.

RabbitMQ for Microservices

Implementation of RabbitMQ for communication between microservices.

Redis as a Message Broker

Using Redis for simple message delivery in applications.

1

Install and configure broker software.

2

Define message streams.

3

Implement security protocols.

⚠️ Technical debt & bottlenecks

  • Outdated broker versions.
  • Lack of monitoring and logging.
  • Insufficient documentation.
Bottleneck in message processing.Latency issues in communication.Scalability constraints of the broker.
  • Overloading the broker with too many messages.
  • Sending non-standardized messages.
  • Ignoring security protocols.
  • Overly complex broker configuration.
  • Insufficient testing before production use.
  • Lack of training for the team.
Knowledge of messaging protocolsUnderstanding of network architecturesTroubleshooting skills
Extensibility of system architecture.Flexibility in integrating various services.Adaptability to changing requirements.
  • Constraints imposed by prototype architecture.
  • Maintenance effort of deployed technology.
  • Restrictions from data security management.