# Point-to-Point Channel

> Each message goes to exactly one consumer — a queue, not a broadcast.

- **Category**: Integration
- **Subcategory**: Message Channels
- **Canonical URL**: https://designpattern.fyi/patterns/point_to_point_channel/

---

## Description
Clean, reusable architecture pattern.


## Use Cases
Job processing queue — 500 background jobs are published to a processing queue. 20 worker instances compete for jobs. Each job is processed by exactly one worker. No duplicate processing. Worker crashes mid-job — broker redelivers the unacknowledged job to another worker.





## Trade-offs


### Advantages

- Exactly-once consumption guarantee (per message, per delivery)

- Natural load balancing via Competing Consumers

- Work distribution without coordination between consumers

- Built-in retry on consumer failure (via message redelivery)




### Considerations & Drawbacks

- No broadcast — if multiple systems need the same message, Pub-Sub is needed

- Message ordering not guaranteed with multiple competing consumers

- Consumer coordination needed if strict ordering or exclusivity per entity is required

- Dead-lettering unprocessable messages needs explicit configuration







---
**Reference**: [Original Source](https://www.enterpriseintegrationpatterns.com/patterns/messaging/PointToPointChannel.html)

