Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Throttle Policy Reset Support for APIM #2455

Closed
8 tasks done
Chanuka-ChandraYapa opened this issue Feb 6, 2024 · 1 comment
Closed
8 tasks done

Throttle Policy Reset Support for APIM #2455

Chanuka-ChandraYapa opened this issue Feb 6, 2024 · 1 comment

Comments

@Chanuka-ChandraYapa
Copy link

Chanuka-ChandraYapa commented Feb 6, 2024

Problem

API Manager currently cannot reset the request counters manually after or before the throttle policy limit has been reached within the throttling time window. The throttle policy limit can be reached due to spikes or unintended requests. Hence, API Users should wait until the throttling time period expires to invoke API calls again. In that case, there can be a requirement to allow further usage resuming API consumption for consumers seamlessly.

Solution

The proposed solution involves publishing a separate asynchronous reset event to the current Siddhi stream at the traffic manager. We are planning to use the existing Siddhi event stream process flow with additional changes to support resetting relevant counters. This approach involves changing the current execution plan format and creating a new data publisher to publish the reset event to the Siddhi runtime.

Affected Component

APIM

Version

4.2.0

Implementation

High level design for the proposed solution.
image

Tasks to be done

Application Level Throttle Policy Reset

  • Rest API implementation
  • Notify the reset event to eventhub
  • Publish the reset event fetched from event hub to Siddhi Stream
  • Write Siddhi extensions to handle reset event
  • Frontend Implementation
  • Unit Testing
  • Integration Testing
  • Update APIM docs

Related Issues

No response

Suggested Labels

No response

@rmsamitha
Copy link
Member

Let's remove the deferred tasks from the issue description

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants