smart

command
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2024 License: BSD-3-Clause Imports: 8 Imported by: 0

README

Gateway with smart Rate Limiter

This recipe is a gateway which applies rate limit and traffic spike blocking on specified dispatches.

Installation

  • Install Go

Setup

git clone https://github.com/AiRISTAFlowInc/fs-microgateway
cd microgateway/activity/ratelimiter/examples/api/smart

Testing

Start the gateway:

go run main.go
Run the client

Run the following command:

go run main.go -client

You should see the following like output:

0 {"category":{"id":0,"name":"string"},"id":1,"name":"doggie","photoUrls":["string"],"status":"available","tags":[{"id":0,"name":"string"}]}

1 {"category":{"id":0,"name":"string"},"id":1,"name":"doggie","photoUrls":["string"],"status":"available","tags":[{"id":0,"name":"string"}]}

2 {"category":{"id":0,"name":"string"},"id":1,"name":"doggie","photoUrls":["string"],"status":"available","tags":[{"id":0,"name":"string"}]}

After 256 requests there will be a spike and traffic, and then requests will be blocked:

256 {"status":"Rate Limit Exceeded - The service you have requested is over the allowed limit."}

257 {"status":"Rate Limit Exceeded - The service you have requested is over the allowed limit."}

258 {"status":"Rate Limit Exceeded - The service you have requested is over the allowed limit."}

After some time the requests will no longer be blocked.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL