# Message Broker

Record: `arch:message-broker`
Kind: artifact
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: contextual
Scope: integration, messaging
Canonical: https://banes-lab.com/ontology#arch-message-broker

## Repair

- Refactored by: Add Broker, Route Messages
- Detected by: direct service calls in async workflows
- Violated by: broker bypass for async integration
- Measured by: broker usage coverage
- Enforced by: architecture policy

## requires

- [Message Queue/Topics](https://banes-lab.com/records/lex/message-queue-topics.md)
- [Routing](https://banes-lab.com/records/lex/routing.md)

## reinforces

- [Decoupling](https://banes-lab.com/records/lex/decoupling.md)
- [Scalability](https://banes-lab.com/records/arch/scalability.md)

## enables

- [Pub/Sub](https://banes-lab.com/records/lex/pub-sub.md)
- [Work Distribution](https://banes-lab.com/records/lex/work-distribution.md)

## conflicts-with

- [Point-to-Point Coupling](https://banes-lab.com/records/lex/point-to-point-coupling.md)

## tensions-with

- [Operational Dependency](https://banes-lab.com/records/lex/operational-dependency.md)

## tensions

- [Message Broker Operational Dependency](https://banes-lab.com/records/tension/message-broker-operational-dependency.md)
