Naming the Application Reference
CloudHub requires a unique application name regardless of the region where you deploy the API. You can, for example, add the region name to the application name to ensure uniqueness. For example:
By default, APIkit adds a base path to each API, namely
/api. The final URL of the APIs deployed on CloudHub is:
To run multiple versions of the same API simultaneously, deploy each API implementation using an unique name. For example, add the version number for uniqueness:
The final URL of the APIs deployed on CloudHub is:
Dropping the environment prefix for production is a MuleSoft best practice. For example:
You can setup desired URLs for each application on CloudHub by using a custom load balancer. For instance, you can configure
http://api.yourcompany.com/customer/v1 to point to this URL:
By default, APIkit generates a listener having a base path of
/api. A different application deployed on the same server attempts to listen on the same context, for example
http://server:port/api/, which causes a conflict.
To avoid such a conflict, configure each Mule application using a different base path. For example:
If multiple versions of the same application need to run on the same server, add a version designator to the base path. For example:
Because each server belongs to a different environment, there is no need to include the environment, such as
/dev, in the base path.
Avoid hard-coding URLs in base path. Use different property files for different deployments:
You can configure a custom load balancer to adjust URLs. For example,
http://api.yourcompany.com/customer/v1 can point to
If your API implementation involves putting a load balancer in front of your APIkit application, configure the load balancer to redirect URLs that reference the
baseUri of the application directly. If the load balancer does not redirect URLs, any calls that reach the load balancer looking for the application do not reach their destination. For example, you deploy an APIkit application to
myapp.mycompany.com, and then add a load balancer at
www.exampleloadbalancer.com. A call to the API arrives at
www.exampleloadbalancer.com and the load balancer redirects the call to
myapp.mycompany.com to get a response.
When using a load balancer, set the
keepRamlBaseUri attribute as described for using APIkit with a reverse proxy.