3.40.28 • Published 3 days ago

@tramvai/module-request-limiter v3.40.28

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 days ago

@tramvai/module-request-limiter

This module provides a request limiter, designed to dynamically limit the number of requests handled concurrently by the application. Request limiter monitors the application server health through event loop lag checks.

Installation

You need to install @tramvai/module-request-limiter

yarn add @tramvai/module-request-limiter

And connect in the project

import { createApp } from '@tramvai/core';
import { RequestLimiterModule } from '@tramvai/module-request-limiter';

createApp({
  name: 'tincoin',
  modules: [ RequestLimiterModule ],
});

Usage

Activation

To activate the limiter, use token REQUESTS_LIMITER_ACTIVATE_TOKEN with true value:

import { REQUESTS_LIMITER_ACTIVATE_TOKEN } from '@tramvai/module-request-limiter';

const provider = {
  provide: REQUESTS_LIMITER_ACTIVATE_TOKEN,
  useValue: true,
};

Configuration

You can pass options to request limiter by REQUESTS_LIMITER_OPTIONS_TOKEN token:

import { REQUESTS_LIMITER_OPTIONS_TOKEN } from '@tramvai/module-request-limiter';

const provider = {
  provide: REQUESTS_LIMITER_OPTIONS_TOKEN,
  // default options
  useValue: {
    limit: 10,
    queue: 100,
    maxEventLoopDelay: 150,
    error: { httpStatus: 429, message: 'Too Many Requests' },
  },
};

The basic settings should work well for most applications, as there is a system built in to adapt and automatically change the parameters relative to the loads. As a result, change the settings after you have done a load test and know that the changes will definitely improve the situation

Explanation

After the server starts, request limiter can handle options.limit parallel connections. Requests over this limit will fall in queue, the size of which limited by options.queue. Other connections that exceed the size of the queue will be terminated with an error options.error.

Requests from queue will be processed from the end of the queue.

Every second limiter checking the current event loop lag. If current lag exceed the options.maxEventLoopDelay, limit number of parallel connections will be decremented. Otherwise, this limit will be incremented.

4.9.1

3 days ago

4.9.0

9 days ago

4.8.6

14 days ago

3.40.28

14 days ago

4.8.4

15 days ago

4.8.3

15 days ago

3.40.26

15 days ago

3.40.25

15 days ago

4.7.1

18 days ago

3.40.21

18 days ago

4.7.0

19 days ago

3.40.20

19 days ago

4.4.6

23 days ago

3.40.17

23 days ago

4.4.5

24 days ago

4.4.4

24 days ago

3.40.16

24 days ago

4.4.1

26 days ago

4.4.3

26 days ago

3.40.14

25 days ago

3.40.13

26 days ago

4.3.1

26 days ago

3.40.11

26 days ago

4.3.0

29 days ago

3.40.6

1 month ago

3.40.7

30 days ago

4.2.1

30 days ago

4.2.0

1 month ago

4.1.0

1 month ago

4.0.6

1 month ago

3.40.5

1 month ago

4.0.5

1 month ago

4.0.4

1 month ago

3.40.4

1 month ago

3.38.0

2 months ago

3.37.10

2 months ago

3.37.8

2 months ago

3.37.7

2 months ago

3.37.5

2 months ago

3.37.1

3 months ago

3.34.0

3 months ago

3.33.2

3 months ago

3.33.0

3 months ago

3.32.3

3 months ago

3.31.0

4 months ago

3.31.2

4 months ago

3.31.3

4 months ago

3.30.1

4 months ago

3.27.5

4 months ago

3.27.3

4 months ago

3.27.4

4 months ago

3.27.0

4 months ago

3.26.3

4 months ago

3.26.2

4 months ago

3.25.5

4 months ago

3.25.6

4 months ago

3.25.3

4 months ago

3.25.2

4 months ago

3.24.3

5 months ago

3.25.0

5 months ago

3.24.1

5 months ago

3.24.0

5 months ago

3.23.0

5 months ago

3.21.0

5 months ago

3.19.0

5 months ago

3.19.1

5 months ago

3.17.0

5 months ago

3.12.0

5 months ago

3.14.1

5 months ago

3.14.0

5 months ago

2.160.25

5 months ago

3.13.0

5 months ago

3.10.2

6 months ago

3.11.0

6 months ago

3.15.1

5 months ago

3.16.0

5 months ago

2.142.1

8 months ago

2.142.0

8 months ago

2.139.3

8 months ago

2.139.2

8 months ago

3.2.0

7 months ago

2.154.0

7 months ago

2.149.0

8 months ago

2.149.1

8 months ago

2.141.2

8 months ago

2.141.1

8 months ago

2.130.9

9 months ago

2.130.7

9 months ago

2.130.6

9 months ago

2.153.3

7 months ago

2.160.21

6 months ago

2.130.4

9 months ago

2.153.1

7 months ago

2.153.2

7 months ago

2.153.0

7 months ago

2.160.12

6 months ago

2.160.17

6 months ago

2.160.19

6 months ago

2.160.10

6 months ago

2.121.2

10 months ago

3.9.1

6 months ago

3.9.0

6 months ago

2.118.1

10 months ago

3.0.2

7 months ago

2.133.5

9 months ago

2.133.4

9 months ago

3.10.0

6 months ago

2.133.2

9 months ago

2.156.1

7 months ago

2.133.0

9 months ago

3.0.0

7 months ago

2.143.0

8 months ago

2.143.1

8 months ago

2.120.0

10 months ago

2.130.10

9 months ago

2.117.4

10 months ago

2.130.11

9 months ago

2.117.2

10 months ago

2.117.0

10 months ago

3.7.0

6 months ago

2.132.1

9 months ago

2.155.0

7 months ago

2.132.0

9 months ago

2.123.4

10 months ago

2.146.1

8 months ago

2.123.3

10 months ago

2.123.2

10 months ago

2.123.1

10 months ago

2.146.0

8 months ago

2.150.0

8 months ago

2.150.1

8 months ago

2.145.0

8 months ago

2.145.1

8 months ago

2.160.4

7 months ago

2.122.0

10 months ago

2.160.2

7 months ago

2.160.1

7 months ago

2.119.5

10 months ago

2.119.4

10 months ago

2.119.3

10 months ago

2.119.2

10 months ago

2.119.0

10 months ago

3.5.0

6 months ago

2.134.0

9 months ago

2.125.4

9 months ago

2.148.1

8 months ago

2.125.3

9 months ago

2.125.2

9 months ago

2.148.0

8 months ago

2.125.0

9 months ago

2.137.0

8 months ago

3.4.1

6 months ago

2.152.2

8 months ago

2.152.3

8 months ago

2.152.1

8 months ago

2.147.1

8 months ago

2.124.0

9 months ago

3.4.6

6 months ago

3.4.5

6 months ago

2.159.5

7 months ago

2.159.6

7 months ago

2.159.4

7 months ago

2.159.1

7 months ago

2.159.2

7 months ago

3.3.2

6 months ago

2.151.0

8 months ago

2.112.0

11 months ago

2.111.1

11 months ago

2.111.0

11 months ago

2.95.0

1 year ago

2.95.4

1 year ago

2.103.1

12 months ago

2.94.27

1 year ago

2.94.24

1 year ago

2.94.23

1 year ago

2.94.25

1 year ago

2.104.0

12 months ago

2.104.2

12 months ago

2.104.3

12 months ago

2.104.4

12 months ago

2.106.3

12 months ago

2.106.4

12 months ago

2.106.5

12 months ago

2.105.0

12 months ago

2.110.0

11 months ago

2.106.2

12 months ago

2.108.1

11 months ago

2.109.0

11 months ago

2.109.1

11 months ago

2.98.2

12 months ago

2.98.0

12 months ago

2.100.0

12 months ago

2.108.0

11 months ago

2.97.2

1 year ago

2.97.0

1 year ago

2.101.0

12 months ago

2.101.1

12 months ago

2.102.1

12 months ago

2.94.17

1 year ago

2.94.16

1 year ago

2.94.2

1 year ago

2.94.19

1 year ago

2.94.18

1 year ago

2.94.13

1 year ago

2.94.12

1 year ago

2.94.6

1 year ago

2.94.15

1 year ago

2.94.4

1 year ago

2.94.9

1 year ago

2.94.7

1 year ago

2.94.8

1 year ago

2.76.2

1 year ago

2.91.1

1 year ago

2.87.0

1 year ago

2.94.0

1 year ago

2.90.0

1 year ago

2.79.9

1 year ago

2.79.7

1 year ago

2.79.6

1 year ago

2.79.5

1 year ago

2.79.4

1 year ago

2.82.0

1 year ago

2.93.0

1 year ago

2.78.2

1 year ago

2.78.1

1 year ago

2.85.1

1 year ago

2.89.2

1 year ago

2.92.1

1 year ago

2.77.0

1 year ago

2.92.0

1 year ago

2.84.0

1 year ago

2.84.2

1 year ago

2.75.0

1 year ago

2.74.0

1 year ago

2.73.1

1 year ago

2.73.0

1 year ago

2.72.0

1 year ago

2.72.5

1 year ago

2.72.4

1 year ago

2.72.3

1 year ago

2.67.1

1 year ago

2.70.1

1 year ago

2.70.0

1 year ago

2.65.9

1 year ago

2.67.0

1 year ago

2.66.0

1 year ago

2.66.2

1 year ago

2.66.3

1 year ago

2.64.0

1 year ago

2.49.5

1 year ago

2.49.2

1 year ago

2.49.3

1 year ago

2.49.0

1 year ago

2.56.0

1 year ago

2.56.5

1 year ago

2.56.1

1 year ago

2.56.2

1 year ago

2.63.0

1 year ago

2.48.3

1 year ago

2.48.0

1 year ago

2.51.2

1 year ago

2.51.0

1 year ago

2.51.1

1 year ago

2.59.2

1 year ago

2.59.3

1 year ago

2.59.4

1 year ago

2.59.0

1 year ago

2.50.0

1 year ago

2.61.1

1 year ago

2.61.2

1 year ago

2.34.0

2 years ago

2.45.0

1 year ago

2.45.1

1 year ago

2.33.1

2 years ago

2.37.3

2 years ago

2.33.3

2 years ago

2.33.2

2 years ago

2.37.1

2 years ago

2.37.0

2 years ago

2.40.0

1 year ago

2.44.2

1 year ago

2.32.0

2 years ago

2.36.0

2 years ago

2.47.3

1 year ago

2.47.0

1 year ago

2.47.2

1 year ago

2.47.1

1 year ago

2.31.0

2 years ago

2.39.0

2 years ago

2.39.3

1 year ago

2.39.2

1 year ago

2.35.0

2 years ago

2.29.0

2 years ago

2.27.0

2 years ago

2.25.1

2 years ago

2.20.0

2 years ago

2.22.0

2 years ago

2.20.1

2 years ago

2.28.0

2 years ago

2.26.2

2 years ago

2.24.1

2 years ago

2.24.0

2 years ago

2.24.3

2 years ago

2.26.0

2 years ago

2.21.0

2 years ago

2.21.1

2 years ago

2.11.0

2 years ago

2.0.2

2 years ago

2.2.3

2 years ago

2.4.0

2 years ago

2.2.2

2 years ago

2.0.7

2 years ago

2.6.2

2 years ago

1.109.0

2 years ago

2.0.0

2 years ago

2.3.0

2 years ago

2.10.2

2 years ago

2.5.0

2 years ago

2.7.0

2 years ago

2.7.1

2 years ago

1.108.1

2 years ago

1.110.2

2 years ago

1.110.0

2 years ago

1.94.5

2 years ago

1.98.0

2 years ago

1.96.0

2 years ago

1.94.2

2 years ago

1.94.1

2 years ago

1.94.0

2 years ago

1.105.3

2 years ago

1.101.8

2 years ago

1.105.2

2 years ago

1.101.6

2 years ago

1.101.3

2 years ago

1.101.4

2 years ago

1.103.0

2 years ago

1.101.2

2 years ago

1.99.1

2 years ago

1.97.0

2 years ago

1.95.2

2 years ago

1.95.1

2 years ago

1.95.0

2 years ago

1.106.0

2 years ago

1.104.2

2 years ago

1.102.1

2 years ago

1.101.9

2 years ago

1.105.6

2 years ago

1.90.6

2 years ago

1.92.3

2 years ago

1.93.1

2 years ago

1.92.2

2 years ago

1.90.4

2 years ago

1.92.0

2 years ago

1.91.1

2 years ago

1.90.2

2 years ago

1.91.0

2 years ago

1.90.1

2 years ago

1.84.0

2 years ago

1.85.0

2 years ago

1.84.2

2 years ago

1.89.1

2 years ago

1.82.1

2 years ago

1.82.2

2 years ago

1.82.3

2 years ago

1.78.0

2 years ago

1.76.2

2 years ago

1.79.0

2 years ago

1.78.1

2 years ago

1.78.2

2 years ago

1.78.3

2 years ago

1.81.0

2 years ago

1.77.0

2 years ago

1.76.1

2 years ago

1.76.0

2 years ago

1.75.1

2 years ago

1.75.0

2 years ago