Hi Uri.
I just did some testing on a couple of machines and everything worked as
expected for me.
However, I wonder if perhaps you don't have your two servers
time-sync'd? If the times aren't the same on all the servers, then the
time-window logic in the rate limiting code will be inconsistent at best.
I initially had some trouble with this, but once I installed ntp on both
my machines then everything worked fine.
-Eric
On 1/19/2016 9:55 AM, Vax, Uri wrote:
apiman.properties files attached .
Talinux3 = Node1
Talinux1 = Node2
-----Original Message-----
From: Eric Wittmann [mailto:eric.wittmann@redhat.com]
Sent: Tuesday, January 19, 2016 3:57 PM
To: Vax, Uri; Jakub Čecháček
Cc: apiman-user(a)lists.jboss.org
Subject: Re: [Apiman-user] Rate-limit policy does not work in APIMan cluster
Are you 100% sure that the Gateway on Node1 and Node2 are sharing the same Elasticsearch
instance? From your description it sounds like perhaps they are not (e.g. the rateBucket
being initialized after the request to Node2).
Perhaps you could send us the apiman.properties files from *each* of your two nodes?
Regards,
Eric
On 1/18/2016 9:03 AM, Vax, Uri wrote:
> 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(a)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(a)informatica.com
> <mailto: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):
>
> oSend requests to node1 until rate limit is exceeded
>
> oSend 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(a)lists.jboss.org <mailto:Apiman-user@lists.jboss.org>
>
https://lists.jboss.org/mailman/listinfo/apiman-user
>
>
>
> _______________________________________________
> Apiman-user mailing list
> Apiman-user(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/apiman-user
>