Raft event log
Event storeraft-event-log
Generic in-house Raft-replicated append-only log used as journal or sequencer.
- Provider
- default
- Kind
- Event store
- Category
- Messaging
- Official docs
- https://raft.github.io/
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| journaled | boolean | — | no | true | ▸ true |
| managed | boolean | — | no | false | inherited |
| nodes | integer | — | no | 3 | inherited |
| replication | enum | none | raft | primary-replica | no | none | ▸ raft |
| role | enum | journal | sequencer | no | journal | ▸ journal |
| snapshotIntervalEvents | integer | — | no | — | inherited |
| storage | enum | mmap | rocksdb | database | no | database | ▸ mmap |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
stateful-engine-pinned-to-single-zone
A matching engine, coordination service or event store living in exactly one availability zone, with no failover and no replication, is lost with that zone. Everything that depends on it stops with it.
- — all of these hold:
- — the node sits inside exactly 1 availability-zone group
- — any of these hold:
- — the node's `failover` is "none"
- — the node's `replicated` is false
- — the node's `replication` is "none"
nodes:
- { id: "raft-event-log", component: "raft-event-log" }# yaml-language-server: $schema=../../schema/component.schema.json # Generic in-house Raft-replicated append-only log (exchange journals, sequencers, custom event stores). # Three voting nodes and memory-mapped segments are the usual shape. schemaVersion: "1" type: "component" id: "raft-event-log" kind: "event-store" provider: "default" docs: "https://raft.github.io/" defaults: replication: "raft" journaled: true storage: "mmap" role: "journal" properties: nodes: type: "integer" default: 3