Services/MessageQueuing: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(initial)
 
(more refinement of concepts)
Line 1: Line 1:
== Planning Questions ==
== Planning Questions ==
 
What is the simplest MQ system and features to add from there?
 
*Put a single message on a queue for later retrieval in a FIFO manner, non-persistent, MQ service polling
*Transient messages (Semi-durable, higher throughput at the possible loss of some recent messages in a crash)
*Persistent messages (Accessible until consumed)
*Prioritizing of messages? Or allow for multiple queues and have the client prioritize where it pulls messages from?<br>
*Allow messages to go un-acknowledged to allow a client to 'time-out' on handling it?
*Message push (persistent MQ connection), reduces latency but increases complexity. Pub/Sub or load-balanced on multiple connected clients?


Trade-offs of MQ implementations
Trade-offs of MQ implementations
Line 7: Line 16:
*Out of band task vs. remote actor
*Out of band task vs. remote actor


What is the simplest MQ system and features to add from there?
Crypto
 
*Put a single message on a queue for later retrieval in a FIFO manner, non-persistent
*Transient messages (Semi-durable, higher throughput at the possible loss of some recent messages in a crash)
*Persistent messages (Accessible until consumed)
*Prioritizing of messages? Or allow for multiple queues and have the client prioritize where it pulls messages from?
 


*Payload could be encrypted at the client layer
*If routing keys are used (RabbitMQ style brokering), those could be encrypted as well


Apps should be able to create both durable and temporary queues on-demand, as well as assign a TTL to a queue for temporary use.
Apps should be able to create both durable and temporary queues on-demand, as well as assign a TTL to a queue for temporary use.

Revision as of 22:44, 8 September 2011

Planning Questions

What is the simplest MQ system and features to add from there?

  • Put a single message on a queue for later retrieval in a FIFO manner, non-persistent, MQ service polling
  • Transient messages (Semi-durable, higher throughput at the possible loss of some recent messages in a crash)
  • Persistent messages (Accessible until consumed)
  • Prioritizing of messages? Or allow for multiple queues and have the client prioritize where it pulls messages from?
  • Allow messages to go un-acknowledged to allow a client to 'time-out' on handling it?
  • Message push (persistent MQ connection), reduces latency but increases complexity. Pub/Sub or load-balanced on multiple connected clients?

Trade-offs of MQ implementations

  • Levels of durability, and their throughput characteristics
  • Prioritization of messages
  • Out of band task vs. remote actor

Crypto

  • Payload could be encrypted at the client layer
  • If routing keys are used (RabbitMQ style brokering), those could be encrypted as well

Apps should be able to create both durable and temporary queues on-demand, as well as assign a TTL to a queue for temporary use.