Skip to content

Broker internal design improvements #1555

@mikehelmick

Description

@mikehelmick

This is broken out from #1381

Problem

The current implementation of the broker uses a single internal channel for delivery and another internal channel for replies. This is not ideal for a scalable workload with dozens or hundreds of triggers and thousands of events per second flowing through the broker.

Persona:

Event Consumer, Systems Integrator

Exit Criteria

The broker meets an agreed upon throughput goal (to be determined)

Time Estimate (optional):
10-15d

Implementation could be complicated as it involves channel management, potentially new configuration points.

Additional context (optional)

In order to meet the proposed design of #1381 - these additional design points are needed.

The selector option (As ObjectReference) will be added to the TriggerFilter portion of the Trigger spec. The selector relates back to the metadata.uid of the object being selected against.

If a trigger contains a selector filter, this filter will be applied with exact match before delivery. The selector is an ObjectReference and will cause the trigger to have an exact match filter on the UID of the referenced object in the sourceid attribute. (See #1554 )

When using the selector filter, we can update the status of the trigger with a failed condition if the expected importer / event source is not present and ready.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions