webMethods API Portal guide
webMethods API Portal is based on multiple software components. One of the crucial component is loadbalancer. The requests from endusers(browser) routed via loadbalancer component only. This is the only component that is exposed to outside world.
Apache
The name 'Apache Server' has been taken from the native american tribe who is known as to be fierce warriors and skillful strategists. Core functionality offered from Apache httpd are
- Protection:
As the meaning behind the name indicates , this component protects the internal components from the external attacks.
- Load balancing
Distributes the workload( the incoming requests ) among the available configured instances.
- Routing
Ability to route the request based on the context to different services.
Loadbalancer in API Portal
API Portal is purely based on MicroServices based architecture. We have different microservices for handling specific functionalities with in Portal. For ex:- All users/groups/licenses related functionalities are managed by the user management microservice (umc)
- All the API related documents / user file uploads are managed by the document storage microservice (documents)
- All the collaboration related data is managed by the collaboration microservice (ecp)
- Core API Portal functionalities are managed by the API server microservice (API)
- All the user interface related functionalities are managed by the Copernicus microservice (COP)
Loadbalancer is the core component which routes the requests from client(browser) to corresponding microservice based on the context specified in the URL. For ex
1. requests with /umc context will be routed to user management core microserivce,
2. requests with /documents or /ads will be routed to document storage microservice
Internally loadbalancer component of API Portal uses the zoo keeper (application service registry) component to infer the location of different microservice (host and port) and forwards the request to corresponding microservice based on the context of the incoming request.
Monitoring
Loadbalancer provides view page (/jkmanager) to view the different workere configured and their respective loadstatus. You can access this page by http://apiportal-host:apiportal-port/jkmanager (ex: http://api.abc.com/jkmanager)
Hope this helps to get a high level overview of LB used in API Portal. We will create another page for troubleshooting any issues with respect to the loadbalancer component of API Portal.
Cheers
Arul