Event / Messaging / Asynchronous Architecture

Kind: category

Record: architecture-category:event-messaging-asynchronous-architecture

Canonical: Ontology

The Event / Messaging / Asynchronous Architecture category holds 19 architecture principles.

Listed in Principle categories, after SOLID / Object-Oriented Design and before Error Handling / Resilience.

Principle

Layer

Linked from

Event / Messaging / Asynchronous Architecture

Every principle in this category is listed as a record. Each record carries its kind, its severity, the scopes it applies at and the layer it lives in, then the edge relations that join it to other records, the records that point back at it, the contracts that answer to it and the tensions it takes part in. The descriptors say how it is violated, detected, measured, repaired and enforced. Where the record carries one, an exemplar shows the shape before and after the principle is applied.

Relations diagram
The relations inside this category.
flowchart LR
    n_event_driven_architecture["Event-Driven Architecture"]
    n_publish_subscribe_pattern["Publish/Subscribe Pattern"]
    n_message_queue["Message Queue"]
    n_message_broker["Message Broker"]
    n_event_bus["Event Bus"]
    n_event_stream["Event Stream"]
    n_event_sourcing["Event Sourcing"]
    n_command_query_responsibility_segregation["Command Query Responsibility Segregation (CQRS)"]
    n_domain_events["Domain Events"]
    n_integration_events["Integration Events"]
    n_asynchronous_communication["Asynchronous Communication"]
    n_eventual_consistency["Eventual Consistency"]
    n_saga_pattern["Saga Pattern"]
    n_outbox_pattern["Outbox Pattern"]
    n_compensating_transaction["Compensating Transaction"]
    n_append_only_log["Append-Only Log"]
    n_dead_letter_queue["Dead-Letter Queue"]
    n_idempotent_consumer["Idempotent Consumer"]
    n_competing_consumers["Competing Consumers"]
    n_event_driven_architecture --> n_asynchronous_communication
    n_event_driven_architecture --> n_event_sourcing
    n_event_driven_architecture --> n_command_query_responsibility_segregation
    n_event_driven_architecture --> n_saga_pattern
    n_message_broker --> n_message_queue
    n_message_broker --> n_publish_subscribe_pattern
    n_event_bus --> n_publish_subscribe_pattern
    n_event_bus --> n_event_driven_architecture
    n_event_sourcing --> n_append_only_log
    n_event_sourcing --> n_domain_events
    n_command_query_responsibility_segregation --> n_event_sourcing
    n_command_query_responsibility_segregation -.-> n_eventual_consistency
    n_domain_events --> n_event_driven_architecture
    n_asynchronous_communication --> n_event_driven_architecture
    n_saga_pattern --> n_compensating_transaction
    n_saga_pattern --> n_eventual_consistency
    n_compensating_transaction --> n_saga_pattern
    n_append_only_log --> n_event_sourcing
    n_dead_letter_queue --> n_message_queue
    n_idempotent_consumer --> n_eventual_consistency
    n_competing_consumers --> n_message_queue