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 *: [email protected]
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
