Apache BookKeeper

Event storebookkeeper

Replicated append-only ledger storage service for write-ahead logs and message journals.

Provider
default
Category
Messaging
Properties · 3 set by this component
propertytypevaluesrequiredkind defaultthis component
journalSyncData · component propertyboolean—notrueinherited
journaledboolean—notrue▸ true
managedboolean—nofalse▸ false
metadataStore · component propertyenumzookeeper | etcdnozookeeperinherited
replicationenumnone | raft | primary-replicanononeinherited
roleenumjournal | sequencernojournal▸ journal
snapshotIntervalEventsinteger—no—inherited
storageenummmap | rocksdb | databasenodatabaseinherited
tlsEnabled · component propertyboolean—nofalseinherited
Rules that apply · 1

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"
Use it in a design
nodes:
  - { id: "bookkeeper", component: "bookkeeper" }
Other Event store products · 4
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Apache BookKeeper: append-only ledgers striped across an ensemble of bookies. Entries are fsynced to
# the journal before acknowledgement (journalSyncData is enabled by default) and cluster metadata lives
# in ZooKeeper ("BookKeeper Concepts and Architecture", "BookKeeper Configuration").
schemaVersion: "1"
type: "component"
id: "bookkeeper"
kind: "event-store"
provider: "default"
docs: "https://bookkeeper.apache.org/docs/reference/config"
defaults:
  journaled: true
  role: "journal"
  managed: false
properties:
  journalSyncData:
    type: "boolean"
    default: true
  metadataStore:
    type: "enum"
    values: ["zookeeper", "etcd"]
    default: "zookeeper"
  tlsEnabled:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/components/bookkeeper.md