The cluster:

 

Two Linux machines

Node1: Gateway + Manager + Elastic Search

Node2: Gateway

 

Node1 and Node2 share same Elastic Search.

 

Maybe I missing something?

 

By the way… not sure, but I noticed that the value of rateBucket has been initialized after the request to Node2

{

        "_index": "apiman_gateway",

        "_type": "rateBucket",

        "_id": "UFVCTElDfHx8fGxvY2FsfHxzfHwxLjA=",

        "_score": 1,

        "_source": {

          "count": 1,

          "last": 1453115651374

        }

 

 

From: Jakub Čecháček [mailto:jcechace@gmail.com]
Sent: Monday, January 18, 2016 3:33 PM
To: Vax, Uri
Cc: apiman-user@lists.jboss.org
Subject: Re: [Apiman-user] Rate-limit policy does not work in APIMan cluster

 

Hello, 

 

could you please describe the setup/topology of your "cluster"?  The HA setup of apiman takes advantage of the fact that state is shared only inside ES -- so you should be good as long as you share one ES cluster among all gateways. Thus it is not really a cluster. 

 

 

Jakub.

 

On Mon, Jan 18, 2016 at 1:10 PM, Vax, Uri <uvax@informatica.com> wrote:

 

Hi

 

I’m using APIMan 1.1.9.

It seems like Rate-limit policy does not work properly when there are several nodes (node1, node2).

 

The scenario:

·         Setup up an APIMan cluster with two nodes (node1 , node2).  

·         Create a service with a rate-limit policy of 5 request per minute

·         Send requests to the service using postman (or any other http client):

o   Send requests to node1 until rate limit is exceeded

o   Send another request to node2 – APIMan will pass the request to the service end-point API instead of returning the “Rate limit exceeded” response

 

 

 

Thanks,

Uri


_______________________________________________
Apiman-user mailing list
Apiman-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/apiman-user