# Event Messaging Async

> Every term in this category is listed as one record, with its kind, its definition and its aliases, the principles whose relations name it, the principle or…

Page: Ontology · Lexicon
Canonical: https://banes-lab.com/ontology/lexicon#lex-category-event-messaging-async

Every term in this category is listed as one record, with its kind, its definition and its aliases, the principles whose relations name it, the principle or contract that carries the same name where one exists, and the layer its category belongs to.

### Asynchronous Processing

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to handle work without blocking the caller, decoupling request from completion.

Referenced by
[Message Queue](https://banes-lab.com/records/arch/message-queue.md)

### At-Least-Once Delivery Safety

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which a message is guaranteed to be delivered at least once, tolerating duplicates.

Referenced by
[Idempotent Consumer](https://banes-lab.com/records/arch/idempotent-consumer.md)

### Atomic State Change + Message Publish

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to commit a state change and publish its corresponding message as one atomic unit.

Referenced by
[Outbox Pattern](https://banes-lab.com/records/arch/outbox-pattern.md)

### Blocking Synchronous Chains

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Chaining services through blocking synchronous calls, so one slow link stalls the entire request.

Referenced by
[Asynchronous Communication](https://banes-lab.com/records/arch/asynchronous-communication.md)

### Broker/Event Bus

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A runtime intermediary that routes messages between publishers and subscribers.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/arch/publish-subscribe-pattern.md)

### Business Complexity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of domain intricacy that a coordination mechanism must accommodate.

Referenced by
[Compensating Transaction](https://banes-lab.com/records/arch/compensating-transaction.md)

### Command/Query Separation

- Kind: [principle](https://banes-lab.com/records/kind/principle.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Separating operations that change state from those that return data, so each method has a single purpose.

Referenced by
[CQRS](https://banes-lab.com/records/arch/command-query-responsibility-segregation.md)

### Compensating Transactions

- Kind: [technique](https://banes-lab.com/records/kind/technique.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Undoing a completed step's effects with an offsetting action when a later step in a distributed workflow fails.

Referenced by
[Saga Pattern](https://banes-lab.com/records/arch/saga-pattern.md)

### Consumer

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A component that receives and processes messages from a queue or topic.

Referenced by
[Message Queue](https://banes-lab.com/records/arch/message-queue.md)

### Consumer Elasticity

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to add or remove consumers dynamically to match message volume.

Referenced by
[Competing Consumers](https://banes-lab.com/records/arch/competing-consumers.md)

### Cross-Service Communication

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability for independent services to exchange information without direct coupling.

Referenced by
[Integration Events](https://banes-lab.com/records/arch/integration-events.md)

### CRUD-Only State Persistence

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Persisting only current state via create-read-update-delete, discarding the history that event sourcing preserves.

Referenced by
[Event Sourcing](https://banes-lab.com/records/arch/event-sourcing.md)

### Decoupled Domain Reactions

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability for domain logic to react to events without the emitter knowing its consumers.

Referenced by
[Domain Events](https://banes-lab.com/records/arch/domain-events.md)

### Decoupled Event Distribution

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to distribute events to many consumers without the source depending on any of them.

Referenced by
[Event Bus](https://banes-lab.com/records/arch/event-bus.md)

### Decoupling

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which components depend on one another minimally, so each can change independently.

Referenced by
[Message Broker](https://banes-lab.com/records/arch/message-broker.md)

### Deduplication Key

- Kind: [artifact](https://banes-lab.com/records/kind/artifact.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A stable identifier attached to a message that lets a consumer detect and drop duplicates.

Referenced by
[Idempotent Consumer](https://banes-lab.com/records/arch/idempotent-consumer.md)

### Delivery Ordering

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which messages are delivered in a defined order, which broad fan-out can weaken.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/arch/publish-subscribe-pattern.md)

### Direct Event Handler Calls

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Invoking event handlers by direct method call, coupling emitter to handler and defeating the event bus.

Referenced by
[Event Bus](https://banes-lab.com/records/arch/event-bus.md)

### Direct Point-to-Point Calls

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Wiring services together with direct point-to-point calls, coupling each sender to specific receivers.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/arch/publish-subscribe-pattern.md)

### Distributed Autonomy

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability for distributed nodes to operate and decide independently without central coordination.

Referenced by
[Eventual Consistency](https://banes-lab.com/records/arch/eventual-consistency.md)

### Duplicate Side Effects

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Reprocessing a message so its side effects run more than once, corrupting state when not idempotent.

Referenced by
[Idempotent Consumer](https://banes-lab.com/records/arch/idempotent-consumer.md)

### Duplication with Domain Events

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of overlap between integration events and domain events that must be kept in sync.

Referenced by
[Integration Events](https://banes-lab.com/records/arch/integration-events.md)

### Event Contract

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The agreed schema and semantics of an event that publishers and subscribers both honor.

Referenced by
[Event Bus](https://banes-lab.com/records/arch/event-bus.md)

### Event Granularity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of coarseness or fineness at which events are defined, trading detail against volume.

Referenced by
[Domain Events](https://banes-lab.com/records/arch/domain-events.md)

### Event Reliability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which events are guaranteed to be delivered despite failures.

Referenced by
[Outbox Pattern](https://banes-lab.com/records/arch/outbox-pattern.md)

### Event Schema

- Kind: [artifact](https://banes-lab.com/records/kind/artifact.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A formal definition of the structure and fields of an event's payload.

Referenced by
[Event Stream](https://banes-lab.com/records/arch/event-stream.md)

### Event Semantics

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The agreed meaning of what an event represents and the conditions under which it is emitted.

Referenced by
[Domain Events](https://banes-lab.com/records/arch/domain-events.md)

### Event Storm / Traceability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which a high volume of events makes end-to-end flows hard to trace.

Referenced by
[Event Bus](https://banes-lab.com/records/arch/event-bus.md)

### Events

- Kind: [artifact](https://banes-lab.com/records/kind/artifact.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Records of things that have happened in a system, emitted for other components to react to.

Referenced by
[Event-Driven Architecture](https://banes-lab.com/records/arch/event-driven-architecture.md)

### Failure Recovery

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to restore correct operation after a failure through compensation or retry.

Referenced by
[Compensating Transaction](https://banes-lab.com/records/arch/compensating-transaction.md)

### Fan-Out Notification

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to deliver one event to many interested subscribers at once.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/arch/publish-subscribe-pattern.md)

### Global ACID Transaction

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Attempting a single ACID transaction spanning multiple distributed services, creating tight coupling and availability loss.

Referenced by
[Saga Pattern](https://banes-lab.com/records/arch/saga-pattern.md)

### Global Consistency

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which all nodes reflect the same state at once, which service autonomy gives up.

Referenced by
[Service Autonomy](https://banes-lab.com/records/arch/service-autonomy.md)

### Hidden Temporal Coupling

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
An undocumented ordering requirement between operations that must run in a specific sequence to work correctly.

Referenced by
[Event-Driven Architecture](https://banes-lab.com/records/arch/event-driven-architecture.md)

### Historical Reconstruction

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to rebuild past state by replaying the recorded sequence of events.

Referenced by
[Event Sourcing](https://banes-lab.com/records/arch/event-sourcing.md)

### Immediate Consistency

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which a read reflects the latest write instantly, which asynchronous processing defers.

Referenced by
[Asynchronous Communication](https://banes-lab.com/records/arch/asynchronous-communication.md)

### Immutable Events

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The requirement that recorded events never change once written, only be appended to.

Referenced by
[Append-Only Log](https://banes-lab.com/records/arch/append-only-log.md)

### In-Memory Direct Invocation

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Calling a component directly in-process where a durable queue is needed, losing buffering and delivery guarantees.

Referenced by
[Message Queue](https://banes-lab.com/records/arch/message-queue.md)

### In-Place Mutation

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Overwriting existing records in place where an append-only log is required, destroying history.

Referenced by
[Append-Only Log](https://banes-lab.com/records/arch/append-only-log.md)

### Infinite Redelivery Loop

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Endlessly redelivering a failing message with no dead-letter path, blocking the queue indefinitely.

Referenced by
[Dead-Letter Queue](https://banes-lab.com/records/arch/dead-letter-queue.md)

### Infrastructure Events in Domain

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Leaking infrastructure or technical events into the domain model, polluting it with concerns it should not hold.

Referenced by
[Domain Events](https://banes-lab.com/records/arch/domain-events.md)

### Internal Domain Event Leakage

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Exposing internal domain events to external consumers, coupling them to private model details.

Referenced by
[Integration Events](https://banes-lab.com/records/arch/integration-events.md)

### Irreversible Side Effects

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Performing side effects that cannot be undone within a workflow that may need to roll back.

Referenced by
[Compensating Transaction](https://banes-lab.com/records/arch/compensating-transaction.md)

### Local Transaction

- Kind: [model](https://banes-lab.com/records/kind/model.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A transaction confined to a single service's own datastore, the atomic unit a saga or outbox composes.

Referenced by
[Outbox Pattern](https://banes-lab.com/records/arch/outbox-pattern.md)

### Long-Running Transactions

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to carry a business transaction across many steps and a long duration via compensation.

Referenced by
[Saga Pattern](https://banes-lab.com/records/arch/saga-pattern.md)

### Message Queue/Topics

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The durable queues and topics through which a broker routes messages to consumers.

Referenced by
[Message Broker](https://banes-lab.com/records/arch/message-broker.md)

### Message Relay

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A component that reads pending messages from an outbox and publishes them to the broker.

Referenced by
[Outbox Pattern](https://banes-lab.com/records/arch/outbox-pattern.md)

### Mutable State Only

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Keeping only mutable current state with no event record, so past states and changes cannot be recovered.

Referenced by
[Event Stream](https://banes-lab.com/records/arch/event-stream.md)

### Operational Dependency

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which a system's operation depends on a message broker remaining available.

Referenced by
[Message Broker](https://banes-lab.com/records/arch/message-broker.md)

### Ordered Log

- Kind: [artifact](https://banes-lab.com/records/kind/artifact.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
An append-only sequence of records that preserves the order in which they were written.

Referenced by
[Event Stream](https://banes-lab.com/records/arch/event-stream.md)

### Own Data

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The requirement that each service alone own and control its data store.

Referenced by
[Service Autonomy](https://banes-lab.com/records/arch/service-autonomy.md)

### Parallel Message Processing

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability for multiple consumers to process messages from the same source at once.

Referenced by
[Competing Consumers](https://banes-lab.com/records/arch/competing-consumers.md)

### Point-to-Point Coupling

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Coupling a sender directly to a specific receiver, so adding a consumer requires changing the sender.

Referenced by
[Message Broker](https://banes-lab.com/records/arch/message-broker.md)

### Poison-Message Quarantine

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to divert a repeatedly-failing message to a separate queue so it stops blocking others.

Referenced by
[Dead-Letter Queue](https://banes-lab.com/records/arch/dead-letter-queue.md)

### Publisher

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A component that emits messages to a topic or bus for subscribers to receive.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/arch/publish-subscribe-pattern.md)

### Query Complexity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of difficulty of answering queries when state is stored as an event history rather than current rows.

Referenced by
[Event Sourcing](https://banes-lab.com/records/arch/event-sourcing.md)

### Read/Write Model Optimization

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to shape read and write models independently for their differing access patterns.

Referenced by
[CQRS](https://banes-lab.com/records/arch/command-query-responsibility-segregation.md)

### Reconciliation

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The activity of detecting and resolving divergence between replicas so they converge to a consistent state.

Referenced by
[Eventual Consistency](https://banes-lab.com/records/arch/eventual-consistency.md)

### Relay Complexity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of added complexity of running a relay process that forwards messages from an outbox.

Referenced by
[Outbox Pattern](https://banes-lab.com/records/arch/outbox-pattern.md)

### Reprocessing After Fix

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to reprocess quarantined messages once the underlying defect is fixed.

Referenced by
[Dead-Letter Queue](https://banes-lab.com/records/arch/dead-letter-queue.md)

### Retry

- Kind: [technique](https://banes-lab.com/records/kind/technique.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Re-attempting a failed operation, typically after a delay, to overcome a transient fault.

Referenced by
[Eventual Consistency](https://banes-lab.com/records/arch/eventual-consistency.md)

### Reversible/Compensable Step

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The requirement that each step in a distributed workflow can be undone by a compensating action.

Referenced by
[Compensating Transaction](https://banes-lab.com/records/arch/compensating-transaction.md)

### Routing

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to direct each message to its correct destination based on topic, key, or rule.

Referenced by
[Message Broker](https://banes-lab.com/records/arch/message-broker.md)

### Safe Message Redelivery

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to redeliver a message without causing duplicate effects, given idempotent handling.

Referenced by
[Idempotent Consumer](https://banes-lab.com/records/arch/idempotent-consumer.md)

### Shared Database

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Multiple services reading and writing one shared database, coupling them and destroying service autonomy.

Referenced by
[Service Autonomy](https://banes-lab.com/records/arch/service-autonomy.md)

### Single Serial Consumer

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Processing a queue with one consumer in series, so throughput cannot scale with load.

Referenced by
[Competing Consumers](https://banes-lab.com/records/arch/competing-consumers.md)

### State Overhead

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of extra state a consumer must retain to deduplicate or order messages.

Referenced by
[Idempotent Consumer](https://banes-lab.com/records/arch/idempotent-consumer.md)

### Storage Growth

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which an append-only log's storage footprint grows unbounded over time.

Referenced by
[Append-Only Log](https://banes-lab.com/records/arch/append-only-log.md)

### Storage Volume

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which retaining a full event stream consumes large amounts of storage.

Referenced by
[Event Stream](https://banes-lab.com/records/arch/event-stream.md)

### Strong Consistency

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which all reads see the latest write, which event-driven asynchrony relaxes.

Referenced by
[Event-Driven Architecture](https://banes-lab.com/records/arch/event-driven-architecture.md)

### Strong Immediate Consistency

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which every read reflects the most recent write without delay, which eventual consistency relaxes.

Referenced by
[Eventual Consistency](https://banes-lab.com/records/arch/eventual-consistency.md)

### Subscriber

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A component that registers interest in a topic and receives its messages.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/arch/publish-subscribe-pattern.md)

### Subscriber Model

- Kind: [model](https://banes-lab.com/records/kind/model.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A representation of which consumers subscribe to which topics and how they receive messages.

Referenced by
[Event Bus](https://banes-lab.com/records/arch/event-bus.md)

### Temporal Modeling

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to model how state evolved over time by preserving each change as an event.

Referenced by
[Event Sourcing](https://banes-lab.com/records/arch/event-sourcing.md)

### Temporal Queries

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to ask what a system's state was at any past point in time.

Referenced by
[Append-Only Log](https://banes-lab.com/records/arch/append-only-log.md)

### Unified CRUD Model

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Using one shared model for both reads and writes, preventing each from being optimized for its purpose.

Referenced by
[CQRS](https://banes-lab.com/records/arch/command-query-responsibility-segregation.md)

### User Expectations

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The behavior users assume a system will exhibit, such as seeing their own writes immediately.

Referenced by
[Eventual Consistency](https://banes-lab.com/records/arch/eventual-consistency.md)

### Work Distribution

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to spread units of work across many workers via a broker.

Referenced by
[Message Broker](https://banes-lab.com/records/arch/message-broker.md)

### Workflow Complexity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of intricacy of coordinating a multi-step distributed workflow.

Referenced by
[Saga Pattern](https://banes-lab.com/records/arch/saga-pattern.md)

## Links to

- [capability](https://banes-lab.com/records/kind/capability.md)
- [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
- [Message Queue](https://banes-lab.com/records/arch/message-queue.md)
- [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- [Idempotent Consumer](https://banes-lab.com/records/arch/idempotent-consumer.md)
- [Outbox Pattern](https://banes-lab.com/records/arch/outbox-pattern.md)
- [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- [Asynchronous Communication](https://banes-lab.com/records/arch/asynchronous-communication.md)
- [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- [Publish/Subscribe Pattern](https://banes-lab.com/records/arch/publish-subscribe-pattern.md)
- [Compensating Transaction](https://banes-lab.com/records/arch/compensating-transaction.md)
- [principle](https://banes-lab.com/records/kind/principle.md)
- [CQRS](https://banes-lab.com/records/arch/command-query-responsibility-segregation.md)
- [technique](https://banes-lab.com/records/kind/technique.md)
- [Saga Pattern](https://banes-lab.com/records/arch/saga-pattern.md)
- [Competing Consumers](https://banes-lab.com/records/arch/competing-consumers.md)
- [Integration Events](https://banes-lab.com/records/arch/integration-events.md)
- [Event Sourcing](https://banes-lab.com/records/arch/event-sourcing.md)
- [Domain Events](https://banes-lab.com/records/arch/domain-events.md)
- [Event Bus](https://banes-lab.com/records/arch/event-bus.md)
- [Message Broker](https://banes-lab.com/records/arch/message-broker.md)
- [artifact](https://banes-lab.com/records/kind/artifact.md)
- [Eventual Consistency](https://banes-lab.com/records/arch/eventual-consistency.md)
- [constraint](https://banes-lab.com/records/kind/constraint.md)
- [Event Stream](https://banes-lab.com/records/arch/event-stream.md)
- [Event-Driven Architecture](https://banes-lab.com/records/arch/event-driven-architecture.md)
- [Service Autonomy](https://banes-lab.com/records/arch/service-autonomy.md)
- [Append-Only Log](https://banes-lab.com/records/arch/append-only-log.md)
- [Dead-Letter Queue](https://banes-lab.com/records/arch/dead-letter-queue.md)
- [model](https://banes-lab.com/records/kind/model.md)
- [activity](https://banes-lab.com/records/kind/activity.md)

## Linked from

- [The layer topology](https://banes-lab.com/ontology/schema/the-layer-topology.md)
- [The membership](https://banes-lab.com/ontology/schema/the-membership.md)
