You Might Need a Messaging Bus If... <ul><li>Bob Pasker </li></ul><ul><li>[email_address] </li></ul>
Decoupling <ul><li>Buffering – arrival time v. service time </li></ul><ul><li>Latency – e.g., over WAN  </li></ul><ul><li>...
Delivery Protocols  <ul><li>Broadcast (Pub/Sub) </li></ul><ul><li>PTP options: one-to-many (round robin), many-to-one (joi...
Delivery Mechanisms <ul><li>Scheduling – round-robin, least busy, by class </li></ul><ul><li>Routing/dispatching – affinit...
Delivery Ordering <ul><li>Idempotency </li></ul><ul><li>Correlation </li></ul><ul><li>Sequencing </li></ul>
Message Processing <ul><li>Translation/Formatting/Normalizing </li></ul><ul><li>Data Enhancement/Reduction </li></ul><ul><...
Reliability/Scalability <ul><li>Ephemeral/transient, reliable, transactional, exactly once </li></ul><ul><li>Store-and-for...
Development <ul><li>Independence/Isolation from other parts of the app </li></ul><ul><li>Message Replay Testing </li></ul>...
Management <ul><li>Auditing/Wire-tapping </li></ul><ul><li>Logging/History </li></ul><ul><li>Control </li></ul><ul><li>Flu...
Upcoming SlideShare
Loading in...5
×

Messaging

10,423

Published on

Published in: Economy & Finance, Technology
2 Comments
24 Likes
Statistics
Notes
No Downloads
Views
Total Views
10,423
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
2
Likes
24
Embeds 0
No embeds

No notes for slide

Messaging

  1. 1. You Might Need a Messaging Bus If... <ul><li>Bob Pasker </li></ul><ul><li>[email_address] </li></ul>
  2. 2. Decoupling <ul><li>Buffering – arrival time v. service time </li></ul><ul><li>Latency – e.g., over WAN </li></ul><ul><li>Asynchronicity – “send it and forget it” </li></ul><ul><li>Protocol matching: push, pull, RPC </li></ul><ul><li>Gateways to/from other domains </li></ul><ul><li>“Least common denominator” communication </li></ul>
  3. 3. Delivery Protocols <ul><li>Broadcast (Pub/Sub) </li></ul><ul><li>PTP options: one-to-many (round robin), many-to-one (joining), many-to-many (mesh) </li></ul><ul><li>Scatter/Gather </li></ul>
  4. 4. Delivery Mechanisms <ul><li>Scheduling – round-robin, least busy, by class </li></ul><ul><li>Routing/dispatching – affinity, data-dependency, partitioned </li></ul><ul><li>Brokering/Anonymity – virtual addressing </li></ul>
  5. 5. Delivery Ordering <ul><li>Idempotency </li></ul><ul><li>Correlation </li></ul><ul><li>Sequencing </li></ul>
  6. 6. Message Processing <ul><li>Translation/Formatting/Normalizing </li></ul><ul><li>Data Enhancement/Reduction </li></ul><ul><li>Parsing </li></ul><ul><li>Filtering </li></ul><ul><li>Security Policy </li></ul><ul><li>Splitting/Aggregating </li></ul><ul><li>Workflow </li></ul>
  7. 7. Reliability/Scalability <ul><li>Ephemeral/transient, reliable, transactional, exactly once </li></ul><ul><li>Store-and-forward </li></ul><ul><li>Durable endpoints </li></ul><ul><li>Failover </li></ul><ul><li>Bus architecture, n connections, instead of n(n-1) in a mesh </li></ul>
  8. 8. Development <ul><li>Independence/Isolation from other parts of the app </li></ul><ul><li>Message Replay Testing </li></ul><ul><li>Post processing message analysis </li></ul>
  9. 9. Management <ul><li>Auditing/Wire-tapping </li></ul><ul><li>Logging/History </li></ul><ul><li>Control </li></ul><ul><li>Flush/Replay </li></ul><ul><li>Dead-letter processing </li></ul><ul><li>Dashboard </li></ul>

×