User:SBisson (WMF)/PublicEventStream

From mediawiki.org

This page contains personal notes from looking into EventBus for the ERI project. It represents my personal understanding and shouldn't be seen as documentation.

  1. The EventBus extension listens to MediaWiki hooks, creates messages and publishes them to an HTTP endpoint exposed by the eventlogging-eventbus service.
  2. The eventlogging-eventbus service checks that the messages validate against the json schema they are associated with and, if they do, publishes them to Kafka.
  3. The changeprop service receives messages from Kafka and determines which requests to execute based on its configuration.
  4. The changeprop service has the ability to publish new messages to Kafka based on existing messages and/or new data.
  5. Kasocki listens to Kafka topics
  6. Kasocki streams Kafka messages to external consumers through the internet. Exact protocol TBD but probably at least WebSocket.