smart

command
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2020 License: BSD-3-Clause Imports: 6 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
  • Install the flogo cli

Setup

git clone https://github.com/project-flogo/microgateway
cd microgateway/activity/ratelimiter/examples/json/smart

Testing

Create the gateway:

flogo create -f flogo.json
cd MyProxy
flogo build

Start the gateway:

bin/MyProxy
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