Queue - Terminologies

  • EDA - Event Driven Architecture
  • Events – Something that happens (ex change in data, sensor signaling a change in temperature, checkout button being clicked.. When an event happens, the application sends a message.)
  • Message – information to send (contains event data, queries, commands, ect)
    • Contains a header and properties, and a body
    • Event messages are usually published to topics.
  • Message exchange patterns
    • Publish-Subscribe – one producer – 1-many consumers
    • Point-To-Point – one producer – one consumer (or consumer group).
      • (Note a consumer group is multiple consumers – but 1 message goes to one of those consumers)
    • Request-Reply – 1 producer, one consumer – 2 channels (one to send, one to receive)
    • Event Brokers – This is the program that receives the message, and figures out where it needs to go. Aka solace server.
  • Messaging system – the infrastructure in general
  • Message types
    • Event message – think of ticker tape
    • Query – a message that retrieves information (ex http get, and head) – it requires a response.
    • Command – a message that instructs another application to perform an action (like a Post, Put, Delete, or Query)
  • Publisher – the entity or program that sends a message (aka producer)
  • Subscriber – the receiver or program or process of the message (aka Consumer)
  • Message Delivery Modes
    • Direct Messaging - High rate – low latency apps that can miss an occasional message.
      • (Messages are not retained for a client when that client is not connected to an event broker)
      • Messages can be discarded when congestion or system failures are encountered.
    • Guaranteed Messaging
      • Messages not lost once they are acknowledged by the event broker.
      • Messages are retained until they are consumed by a client.