Hi, There can be situations where we need to host public gateways for public traffic as well as private gateways for internal traffic. In general, there can be different gateway environments which serve particular APIs. The publisher can decide which API should be served by which gateway environment.
The flow is as follows. 1. When creating an API, the publisher can decide the labels for an API. Labels can be public, private, etc. Users can define labels based on their use cases. Once the API is published, an event is published to the topic. 2. Gateways are subscribed to the particular topics at the startup and they will receive the API publishing event. Gateways are capable of loading APIs on demand as well as able to load when API is published. Gateways should be started with a label. For an example, the public gateway should be started providing an argument at startup with label value public. This is to identify the environment. 3. When requesting a particular API from the publisher, the gateway should provide the label value. The publisher will check the available labels in the API and the gateway only receives the API only if there is a match for the given label in the API. 4. Key validation. In Store, there will be a REST API to get the label information which contains the label name and the URL of the gateway. This is used to display the gateway URLs in the API store. By default, it will display all the available environments. There is an extension point which users can use to restrict showing particular gateway endpoints based on the user who logs into the API store. *Note: *These gateway environments are not same as having Dev , QA and Prod environments of the API Manager deployment. Dev, QA, Prod environments are called stages in API Manager from C5 onwards. In a particular stage, there can be different gateway environments. Please share your thoughts. Thank you! -- *Pubudu Gunatilaka* Committer and PMC Member - Apache Stratos Software Engineer WSO2, Inc.: http://wso2.com mobile : +94774078049 <%2B94772207163>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
