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.
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
selectoroption (As ObjectReference) will be added to the TriggerFilter portion of the Trigger spec. The selector relates back to themetadata.uidof 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
sourceidattribute. (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.