The idea would be basically what Claus said.  You'd have an expression
you use in order to "correlate" messages with one another.  This
expression would be evaluated against incoming messages and the result
would be used to lookup the throttling state for that group in some
map (probably a ConcurrentHashMap wrapped by LRU to prevent memory
leaks or something).

On Mon, Oct 7, 2013 at 3:51 PM, Daniel Bularzik <[email protected]> wrote:
> So obviously, instead of asking "Is there a way..." I should have asked "How 
> do I..."
>
> Consider this a restatement of my original question. How would I go about 
> doing this? A summary of a whiteboard implementation would be sufficient.
>
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On 
> Behalf Of James Carman
> Sent: Monday, October 07, 2013 8:08 AM
> To: [email protected]
> Subject: Re: Throttling by client ID?
>
> I actually had to implement that on a whiteboard when interviewing for a 
> certain tech company.  It's not terribly difficult to implement such a beast.
>
>
> On Mon, Oct 7, 2013 at 7:59 AM, Daniel Bularzik <[email protected]> wrote:
>
>>  We're looking to enforce a per-client SLA; notably, right now we're
>> considering how to throttle service use on a per-client basis. I've
>> found the Throttler Pattern, but this appears to only useful for
>> throttling overall use of the service. Is there a way to use Throttler
>> to limit access on a per-client basis? Assume the client ID is
>> available in the exchange.*
>> ***
>>
>> ** **
>>
>> Daniel Bularzik, Lead Software Engineer****
>>
>> ****8051 Arco Corporate Drive, Suite 100, Raleigh, NC 27617****
>>
>> 919-816-3818, [email protected]****
>>
>> www.akc.org   Facebook <https://www.facebook.com/AmericanKennelClub>
>> Twitter <https://twitter.com/akcdoglovers>****
>>
>> ** **
>>

Reply via email to