Skip to content

Commit

Permalink
Merge pull request #540 from buehner/update-dev-readme
Browse files Browse the repository at this point in the history
docs: add diagram for event bus understanding
  • Loading branch information
groldan authored Nov 1, 2024
2 parents 86f4ca6 + cb86d51 commit 5e947a0
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
15 changes: 15 additions & 0 deletions docs/develop/event-bus/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Understanding the event bus data flow

For general information about the event bus, hava a look [here](../../../src/catalog/event-bus/README.md).

The following diagram demonstrates the data flow on the event bus:

![Event Bus Data flow](../../img/gs_cloud_eventbus_diagram.svg)

1. Changes on the catalog/config level are usually done via the REST interface or the WebUI (via the Gateway)
2. Changes are persisted in the catalog/config
3. The `CatalogApplicationEventPublisher` listens to the events of the (native) GeoServer/Catalog (triggered by step 2)
4. Whenever such an event fires, the `CatalogApplicationEventPublisher` will publish a "local" `GeoServerEvent`. Have a look [here](../../../src/catalog/events/README.md) for the full type hierarchy.
5. The `RemoteGeoServerEventBridge` (listens to these `GeoServerEvent`s and) broadcasts `RemoteGeoServerEvent`s to the event bus.
6. All registered microservices listen for incoming `RemoteGeoServerEvent`s
7. The payload of these remote events will be published as local events to reload/refresh the catalog/config locally.
4 changes: 4 additions & 0 deletions docs/img/gs_cloud_eventbus_diagram.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 5e947a0

Please sign in to comment.