Skip to content

Batch Airnode feed calls to Signed API by small buffer #212

Description

@Siegrift

Currently, Nodary Airnode feed makes ~1800 per second Signed API calls (counting only those that reach our server). These numbers are similar for many other Airnode feeds. This is because the non-batched feeds make single API call per data feed and after the data is fetched it is pushed to Signed API. Put shortly, we have as many Signed API POST requests as we have data provider requests.

There are these issues:

  1. These requests are randomly distributed, but there can still be too many of them at once, possibly causing Fix load balancer returning 502 Bad Gateway error #211
  2. Causes too many logs in Signed APIs, relating to Investigate possible log reduction in Signed API and Airnode feed #208
  3. Causing unnecessary HTTP request overhead for both Airnode feed and Signed API.

What I propose is to batch the Airnode feed calls by a short period (e.g. 50ms or 100ms). We want to push the data as soon as possible, but such a short delay seems acceptable to me. This sets the upper bound on the number of Signed API calls requests made per second.

If we do this, we might not want to remove the "Request received" message in this issue, but instead log it with how many "signed datas" it received in the batch.

@bbenligiray let me know wdyt.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    on holdWe do not plan to address this at the moment

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions