Hi Jayanie, How we support both distributed traffic manager and throttling within the gateway? Is it a configuration or something we include when we generate gateway?
Thanks and Regards. On Fri, Oct 26, 2018 at 10:25 AM Jayanie Bogahawatta <jaya...@wso2.com> wrote: > Hi all, > > As I am currently doing the implementation of this project, the json > payload of the throttle event which is generated in the micro-gateway is > published to traffic manager via http protocol. In here > ‘throttleEventReceiver’ receives that throttle data and sends those data to > ‘org.wso2.throttle.request.stream’. From that stream, data is sent to > ‘requestPreProcessorExecutionPlan’ and through > ‘org.wso2.throttle.processed.request.stream’ the data is published to > execution plans. The throttled decisions are published to > ‘org.wso2.throttle.globalThrottle.stream’ and those throttled decisions are > sent to ‘jmsEventPublisher’. To receive the throttled decisions, the > micro-gateway jms event listener is subscribed to the ‘throttleData’ topic. > Then through that subscriber endpoint the throttled decisions which are in > jms message format are received by the micro-gateway jms event listener. > When throttled decision is received, the local maps in the micro-gateway > are updated according to that. > > > [image: image.png] > Thank you. > > > > On Wed, Sep 12, 2018 at 11:13 AM Jayanie Bogahawatta <jaya...@wso2.com> > wrote: > >> Hi All, >> The project I have chosen in the internship is Project 194: Distributed >> Throttling for Micro-gateway. >> >> Problem >> >> - >> >> Micro-gateway does not have access to central traffic manager system >> with the current architecture. >> - >> >> Micro-gateway manage throttling in node level by maintaining node >> local counters. >> - >> >> In scalable gateway environment this can be a problem as gateways >> scale dynamically.When it comes to application level throttling and >> backend >> throttling node level would not sufficient as number of instances can >> multiply allowed limits. >> >> Solution >> >> - >> >> Existing traffic manager solution which is connected to API gateway >> executes the throttle policies against data coming with every published >> event and takes decisions based on the applicability of each throttle >> policy available in the system. If a particular request is throttled, then >> the Traffic Manager sends those details to a JMS topic. Every gateway node >> is subscribed to this JMS topic; hence the gateway nodes get notified of >> throttle decisions through JMS messages. >> - >> >> This traffic manager solution can be used and need to be connected to >> micro-gateway. >> - >> >> In case of a lock down environment or offline mode which do not have >> connection with Central Traffic management solution, node level throttling >> is also required. >> >> Basic approach >> >> - >> >> The events should be published to the traffic manager from the >> micro-gateway node. Binary or thrift transport can be used to publish this >> data from micro-gateway to the Traffic Manager. >> - >> >> Traffic manager sends throttling decisions calculated based on >> received events to a JMS topic which should be listened and based on the >> throttling decisions received, the local maps in micro-gateway need to be >> updated. >> >> >> >> >> >> >> >> -- >> >> *Jayanie Bogahawatte* >> *Software Engineering Intern* >> WSO2 (University of Moratuwa) >> *mobile *: *+94 777563324* | *email *: jaya...@wso2.com >> >> >> >> >> > > -- > > *Jayanie Bogahawatte* > *Software Engineering Intern* > WSO2 (University of Moratuwa) > *mobile *: *+94 777563324* | *email *: jaya...@wso2.com > > > > > _______________________________________________ > Architecture mailing list > Architecture@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > -- Rukshan Chathuranga. Software Engineer. WSO2, Inc. +94711822074
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture