- templates/models: C4 - Standard Web App, C4 - E-Shop, C4 - Event-Based Integration; each a complete model (main.archify, registry, context, containers, components) that validates - archify.newModel: pick an example and a folder name, copy it, name the model after the folder, open the model page - Explorer menu: New Model… on folders, Open Model on .archify and .archify-registry files; File → New File… lists New Model… - unit test validates every example end to end; integration test runs the command; README, CHANGELOG, docs/model.md
41 lines
1.2 KiB
Plaintext
41 lines
1.2 KiB
Plaintext
schema_version: 1
|
|
elements:
|
|
ingest:
|
|
type: backend
|
|
label: Ingest API
|
|
sublabel: HTTPS in, events out
|
|
description: Accepts events from systems that cannot publish to the bus themselves.
|
|
bus:
|
|
type: messagebus
|
|
label: Event bus
|
|
sublabel: Kafka
|
|
brand: apache-kafka
|
|
description: One topic per event type; retained for seven days.
|
|
router:
|
|
type: backend
|
|
label: Event router
|
|
sublabel: validate, enrich, dispatch
|
|
description: Checks each event against its schema, adds reference data, hands it to the consumers.
|
|
diagram: 0300-components/router.archify
|
|
dlq:
|
|
type: messagebus
|
|
label: Dead-letter queue
|
|
sublabel: failed events
|
|
description: Events the router could not process; replayed by operations.
|
|
store:
|
|
type: database
|
|
label: Event store
|
|
sublabel: PostgreSQL
|
|
brand: postgresql
|
|
description: Every accepted event, for audit and replay.
|
|
notifier:
|
|
type: backend
|
|
label: Notifier
|
|
sublabel: email, chat
|
|
description: Turns selected events into messages to people.
|
|
analytics:
|
|
type: database
|
|
label: Analytics
|
|
sublabel: warehouse tables
|
|
description: Flattened events for reporting.
|