Info |
---|
Realized in 1.0.8 |
DistributeMe should provide means to control overload of a server.
Effectively it means that distributeme should limit outgoing requests on the client side, and incoming requests on the server side.
There are generally 3 proposal how to realize it:
1. Pragmatic
New annotation, @ConcurrencyControl(clientLimit, serverLimit)
2. A little more detailed
New annotations:
@ConcurrencyControlServerSide(limit)
@ConcurrencyControlClientSide(limit)
3. Large more complicated
Code Block |
---|
ConcurrencyControlStrategy{ boolean allowOutgoingCall(...); boolean allowIncomingCall(...); } |
Code Block |
---|
public @interface ConcurrencyControl { Class<? extends ConcurrencyControlStrategy> strategyClass(); String strategyParameter() default ""; } |
4. Mixed
Realize 3 and 2, and let 2 be internally translated into 3.