US 11,917,035 B1
Egress rate control in an event bus service
Gustavo Soto Ridd, Vancouver (CA); Shawn Patrick Jones, Calgary (CA); Rishi Baldawa, Vancouver (CA); Nikita Pinski, Vancouver (CA); Asim Himani, Vancouver (CA); and Igor Subbotin, Vancouver (CA)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Dec. 15, 2022, as Appl. No. 18/066,580.
Int. Cl. H04L 67/61 (2022.01); H04L 67/63 (2022.01)
CPC H04L 67/63 (2022.05) [H04L 67/61 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
obtaining, by an event bus service of a cloud provider network, a plurality of events, wherein an event includes a data object indicating a change associated with at least one of: an application, a service of the cloud provider network, or a service external to the cloud provider network;
storing the plurality of events in an event bus;
determining, based on one or more rules associated with the event bus, that a first portion of the plurality of events are to be sent to an event target, wherein the one or more rules specify an event pattern that matches events in the first portion of the plurality of events;
sending the first portion of the plurality of events to the event target, wherein sending an event includes at least one of: sending a request based on data contained in the event to a service of the cloud provider network, sending a request to an application programming interface (API) endpoint based on data contained in the event, or sending the event to another event bus;
monitoring whether events from the first portion of the plurality of events were successfully delivered to the event target to obtain event delivery data;
calculating, based on the event delivery data, an estimated rate at which events from the first portion of the plurality of events are successfully received by the event target;
determining that the estimated rate at which events from the first portion of the plurality of events are successfully received by the event target is below a threshold rate; and
sending a second portion of the plurality of events to the event target at a throttled rate.