webMethods API Portal guide
webMethods API Portal is an API discovery and documentation tool built with multiple services and applications.
The services include:
- ElasticSearch
- Postgres
- LoadBalancer
- CloudSearch
- ZooKeeper
The applications include:
- UMC - User Management
- ADS - Document Storage
- ECP - Collaboration Platform
- Copernicus - UI Framework with customization support
Each of the services and applications can be termed as "runnable".
Zookeeper
ZooKeeper is an Apache project providing a distributed, eventually consistent hierarchical configuration store.
ZooKeeper originated out of the world of Hadoop, where it was built to help in the maintenance of the various components in a hadoop cluster. It is a distributed configuration store that provides notifications to registered clients. With this, it is possible to build a service discovery infrastructure, however every service must explicitly register with ZooKeeper, and the clients must then check in the configuration.
Usage of ZooKeeper runnable
- ZooKeeper is the central service registry
- All the applications and services register themselves in Zookeeper.
- Applications and services do a Zookeeper lookup to find other services and applications they need (runtime dependencies)
- If Zookeeper becomes unavailable, the entire installation will stop working!
Zookeeper viewer
As stated above Zookeeper is a hierarachial configuration store. We could use below tools to view the configuration entries.
Caution: As stated above Zookeeper is the central place of information lookup for services. Please use the tools for just view the internal detail and do not alter / change anything.
- We could use the ACC console itself to view the zookeeper entries. There exists a ACC command zk dump which dumps the Zookeeper configuration entries as key value pairs. This is the easiest way to view the zookeeper entries. Since you have already logged into a CloudController which is internally connected to a ZooKeeeper(which is alive) you dont require anyother information to fetch the configuration entries.
- We could also use a GUI tool https://github.com/javaquery/zooviewer/releases to view the hierachy storage structure. You can download the distribution archive and extract the content into a local folder. The tool requires the Zookeeper host:port details to connect to a alive instance. You can get the details of port details from ACC console using show runnable <instance id> command.
ACC+ localhost>show runnable zoo_s ID: zoo_s state:STARTED type:com.aris.runnables.zookeeper-run-prod- Configuration parameters: JAVA-XX\:\+CrashOnOutOfMemoryError=/enabled JAVA-Xmx=48m JAVA_OPTS=-server clientPort=18083 maxClientCnxns=50 maxSessionTimeout=60000 minSessionTimeout=6000 plugin.ping.disable.level1check=true quorumListenOnAllIPs=true tickTime=60000 |
From the configuration parameters listed above, the clientPort configuration parameters indicates the port of the ZooKeeper instance. You can use the zkHost:clientPort information to connect via ZooViewer and view the entries.