{
  "code": null,
  "collection": "architecture-category",
  "href": "https://banes-lab.com/ontology#architecture-category-event-messaging-asynchronous-architecture",
  "id": "event-messaging-asynchronous-architecture",
  "kind": "category",
  "layer": null,
  "name": "Event / Messaging / Asynchronous Architecture",
  "ref": "architecture-category:event-messaging-asynchronous-architecture",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-event-driven-architecture",
          "json": "https://banes-lab.com/json/records/architecture/event-driven-architecture",
          "label": "Event-Driven Architecture",
          "markdown": "https://banes-lab.com/records/architecture/event-driven-architecture.md",
          "ref": "architecture:event-driven-architecture"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-publish-subscribe-pattern",
          "json": "https://banes-lab.com/json/records/architecture/publish-subscribe-pattern",
          "label": "Publish/Subscribe Pattern",
          "markdown": "https://banes-lab.com/records/architecture/publish-subscribe-pattern.md",
          "ref": "architecture:publish-subscribe-pattern"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-message-queue",
          "json": "https://banes-lab.com/json/records/architecture/message-queue",
          "label": "Message Queue",
          "markdown": "https://banes-lab.com/records/architecture/message-queue.md",
          "ref": "architecture:message-queue"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-message-broker",
          "json": "https://banes-lab.com/json/records/architecture/message-broker",
          "label": "Message Broker",
          "markdown": "https://banes-lab.com/records/architecture/message-broker.md",
          "ref": "architecture:message-broker"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-event-bus",
          "json": "https://banes-lab.com/json/records/architecture/event-bus",
          "label": "Event Bus",
          "markdown": "https://banes-lab.com/records/architecture/event-bus.md",
          "ref": "architecture:event-bus"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-event-stream",
          "json": "https://banes-lab.com/json/records/architecture/event-stream",
          "label": "Event Stream",
          "markdown": "https://banes-lab.com/records/architecture/event-stream.md",
          "ref": "architecture:event-stream"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-event-sourcing",
          "json": "https://banes-lab.com/json/records/architecture/event-sourcing",
          "label": "Event Sourcing",
          "markdown": "https://banes-lab.com/records/architecture/event-sourcing.md",
          "ref": "architecture:event-sourcing"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-command-query-responsibility-segregation",
          "json": "https://banes-lab.com/json/records/architecture/command-query-responsibility-segregation",
          "label": "Command Query Responsibility Segregation (CQRS)",
          "markdown": "https://banes-lab.com/records/architecture/command-query-responsibility-segregation.md",
          "ref": "architecture:command-query-responsibility-segregation"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-domain-events",
          "json": "https://banes-lab.com/json/records/architecture/domain-events",
          "label": "Domain Events",
          "markdown": "https://banes-lab.com/records/architecture/domain-events.md",
          "ref": "architecture:domain-events"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-integration-events",
          "json": "https://banes-lab.com/json/records/architecture/integration-events",
          "label": "Integration Events",
          "markdown": "https://banes-lab.com/records/architecture/integration-events.md",
          "ref": "architecture:integration-events"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-asynchronous-communication",
          "json": "https://banes-lab.com/json/records/architecture/asynchronous-communication",
          "label": "Asynchronous Communication",
          "markdown": "https://banes-lab.com/records/architecture/asynchronous-communication.md",
          "ref": "architecture:asynchronous-communication"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-eventual-consistency",
          "json": "https://banes-lab.com/json/records/architecture/eventual-consistency",
          "label": "Eventual Consistency",
          "markdown": "https://banes-lab.com/records/architecture/eventual-consistency.md",
          "ref": "architecture:eventual-consistency"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-saga-pattern",
          "json": "https://banes-lab.com/json/records/architecture/saga-pattern",
          "label": "Saga Pattern",
          "markdown": "https://banes-lab.com/records/architecture/saga-pattern.md",
          "ref": "architecture:saga-pattern"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-outbox-pattern",
          "json": "https://banes-lab.com/json/records/architecture/outbox-pattern",
          "label": "Outbox Pattern",
          "markdown": "https://banes-lab.com/records/architecture/outbox-pattern.md",
          "ref": "architecture:outbox-pattern"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-compensating-transaction",
          "json": "https://banes-lab.com/json/records/architecture/compensating-transaction",
          "label": "Compensating Transaction",
          "markdown": "https://banes-lab.com/records/architecture/compensating-transaction.md",
          "ref": "architecture:compensating-transaction"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-append-only-log",
          "json": "https://banes-lab.com/json/records/architecture/append-only-log",
          "label": "Append-Only Log",
          "markdown": "https://banes-lab.com/records/architecture/append-only-log.md",
          "ref": "architecture:append-only-log"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-dead-letter-queue",
          "json": "https://banes-lab.com/json/records/architecture/dead-letter-queue",
          "label": "Dead-Letter Queue",
          "markdown": "https://banes-lab.com/records/architecture/dead-letter-queue.md",
          "ref": "architecture:dead-letter-queue"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-idempotent-consumer",
          "json": "https://banes-lab.com/json/records/architecture/idempotent-consumer",
          "label": "Idempotent Consumer",
          "markdown": "https://banes-lab.com/records/architecture/idempotent-consumer.md",
          "ref": "architecture:idempotent-consumer"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-competing-consumers",
          "json": "https://banes-lab.com/json/records/architecture/competing-consumers",
          "label": "Competing Consumers",
          "markdown": "https://banes-lab.com/records/architecture/competing-consumers.md",
          "ref": "architecture:competing-consumers"
        }
      ],
      "relation": "principle"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/schema#layer-execution-core",
          "json": "https://banes-lab.com/json/records/layer/execution-core",
          "label": "Execution Core",
          "markdown": "https://banes-lab.com/records/layer/execution-core.md",
          "ref": "layer:execution-core"
        }
      ],
      "relation": "layer"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-category-event-messaging-asynchronous-architecture",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-event-messaging-asynchronous-architecture",
          "label": "Event / Messaging / Asynchronous Architecture",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-event-messaging-asynchronous-architecture.md",
          "ref": "chapter:/ontology#architecture-category-event-messaging-asynchronous-architecture"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#the-layer-topology",
          "json": "https://banes-lab.com/json/ontology/schema/the-layer-topology",
          "label": "The layer topology",
          "markdown": "https://banes-lab.com/ontology/schema/the-layer-topology.md",
          "ref": "chapter:/ontology/schema#the-layer-topology"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#the-membership",
          "json": "https://banes-lab.com/json/ontology/schema/the-membership",
          "label": "The membership",
          "markdown": "https://banes-lab.com/ontology/schema/the-membership.md",
          "ref": "chapter:/ontology/schema#the-membership"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "summary": "The Event / Messaging / Asynchronous Architecture category holds 19 architecture principles.",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/ontology#architecture-category-error-handling-resilience",
      "json": "https://banes-lab.com/json/records/architecture-category/error-handling-resilience",
      "label": "Error Handling / Resilience",
      "markdown": "https://banes-lab.com/records/architecture-category/error-handling-resilience.md",
      "ref": "architecture-category:error-handling-resilience"
    },
    "previous": {
      "href": "https://banes-lab.com/ontology#architecture-category-solid-object-oriented-design",
      "json": "https://banes-lab.com/json/records/architecture-category/solid-object-oriented-design",
      "label": "SOLID / Object-Oriented Design",
      "markdown": "https://banes-lab.com/records/architecture-category/solid-object-oriented-design.md",
      "ref": "architecture-category:solid-object-oriented-design"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/records/architecture-category",
    "label": "Principle categories",
    "markdown": "https://banes-lab.com/api/records/architecture-category.md",
    "ref": "api:records/architecture-category"
  }
}
