Skip to content

Commit 31c28db

Browse files
authored
Merge pull request backstage#26832 from backstage/rugvip/events
beps/0001: events service updates
2 parents 8508bf9 + f49c1ef commit 31c28db

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

beps/0001-notifications-system/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ The `signal` plugin provides the following:
7474

7575
### Signals Plugin
7676

77-
In the backend the signal plugin implements a general purpose message bus for sending signals from backend plugins to connected users. It relies on the `EventBroker` from the [events plugin](https://github.com/backstage/backstage/blob/master/plugins/events-backend/README.md) for the actual message passing in the backend. In order to support scaled deployments, each signal backend instance has a separate subscription to the event broker so that each instance receives all events. It is then up to each backend instance to filter out events that are not relevant to it. For this reason, signals should be kept lightweight and not contain unnecessary data.
77+
In the backend the signal plugin implements a general purpose message bus for sending signals from backend plugins to connected users. It relies on the `EventsService` from the [events plugin](https://github.com/backstage/backstage/blob/master/plugins/events-node/README.md) for the actual message passing in the backend. In order to support scaled deployments, each signal backend instance has a separate subscription to the events service so that each instance receives all events. It is then up to each backend instance to filter out events that are not relevant to it. For this reason, signals should be kept lightweight and not contain unnecessary data.
7878

7979
In the frontend the signal plugin has a persistent connection to the signal backend. This is initially implemented as a WebSocket connection, but could in the future also receive fallback mechanisms such as Server Sent Events or long polling. It is important that this connection is authenticated as we will be routing signals to specific users. The exact implementation of the authentication is not part of this proposal, but it should use whatever the outcome of the discussion in issue [#19581](https://github.com/backstage/backstage/issues/19581) is.
8080

@@ -427,22 +427,22 @@ The notification and signal plugins are released as two new plugins in the Backs
427427

428428
For the notification plugin to reach a stable release we much reach the following:
429429

430-
- A stable notifications payload format.
431-
- A stable notifications recipient filter format.
432-
- The event broker must have at least one implementation that supports scaled deployments.
430+
- [ ] A stable notifications payload format.
431+
- [ ] A stable notifications recipient filter format.
432+
- [x] The events service must have at least one implementation that supports scaled deployments. Done in #24916.
433433

434434
For the signal plugin to reach a stable release we much reach the following:
435435

436-
- A stable signal recipient filter format.
437-
- A stable signal channel API in the frontend.
436+
- [ ] A stable signal recipient filter format.
437+
- [ ] A stable signal channel API in the frontend.
438438

439439
If any changes are required to the frontend framework to facilitate the implementation of notifications or signals, these will be released as experimental alpha features. They will stay in alpha until they are deemed stable enough, which must happen before a stable release of the notifications system.
440440

441441
## Dependencies
442442

443-
Since the signal plugin relies on the event broker for communication, it is a dependency for the notifications system as a whole. The event broker does not currently implement any transport for scaled deployments, which is a requirement for scaled deployments of the notification system.
443+
~Since the signal plugin relies on the events service for communication, it is a dependency for the notifications system as a whole. The events service does not currently implement any transport for scaled deployments, which is a requirement for scaled deployments of the notification system.
444444

445-
Alternatively the notifications can work without the signals, but in this case the notifications are updated only during page refresh.
445+
Alternatively the notifications can work without the signals, but in this case the notifications are updated only during page refresh.~
446446

447447
## Alternatives
448448

beps/0001-notifications-system/notifications-architecture.drawio.svg

Lines changed: 3 additions & 3 deletions
Loading

0 commit comments

Comments
 (0)