Pulsar
The Apache Pulsar microservice provides server-to-server messaging for Unified Assurance microservices.
It is a supporting microservice for all microservice pipelines and runs in the a1-messaging namespace. See Understanding Microservice Pipelines in Unified Assurance Concepts for conceptual information.
Pulsar Prerequisites
Before deploying the microservice, confirm that a microservice cluster is set up. See Microservice Cluster Setup.
Deploying Pulsar
To deploy the microservice, run the appropriate command for your environment:
-
For a single server with a single node replica for each pod:
su - assure1 export WEBFQDN=<WebFQDN> a1helm install <microservice-release-name> assure1/pulsar -n a1-messaging --set global.imageRegistry=$WEBFQDN --set singleNode=trueIn the commands:
-
Note that this microservice must be deployed to the a1-messaging namespace rather than a zone-specific namespace.
-
<WebFQDN> is the fully-qualified domain name of the primary presentation server for the cluster.
-
<microservice-release-name> is the name to use for the microservice instance. Oracle recommends using the microservice name (pulsar) unless you are deploying multiple instances of the microservice to the same cluster.
-
-
For standard high-availability deployments, deploy the microservice with the default number of node replicas (three) for each non-monitoring pod by omitting the singleNode parameter:
su - assure1 export WEBFQDN=<WebFQDN> a1helm install <microservice-release-name> assure1/pulsar -n a1-messaging --set global.imageRegistry=$WEBFQDN -
For non-standard high-availability deployments, deploy the microservice with a custom number of node replicas by adding the targetReplicas parameter:
su - assure1 export WEBFQDN=<WebFQDN> a1helm install <microservice-release-name> assure1/pulsar -n a1-messaging --set global.imageRegistry=$WEBFQDN --set targetReplicas=5 -
For systems with 8 or more CPUs, deploy the microservice with a custom number of HTTP threads by setting the broker.configData.numHttpServerThreads and proxy.configData.httpNumThreads parameters to 16. For example:
su - assure1 export WEBFQDN=<WebFQDN> a1helm install <microservice-release-name> assure1/pulsar -n a1-messaging --set global.imageRegistry=$WEBFQDN --set-string broker.configData.numHttpServerThreads=16 --set-string proxy.configData.httpNumThreads="16" --set singleNode=trueIf you do not set these values appropriately for your environment, Pulsar may enter a crash loop with the logs indicating insufficient threads.
You can also use the Unified Assurance UI to deploy microservices. See Deploying a Microservice by Using the UI for more information.
Changing Pulsar Configuration Parameters
When running the install command, you can optionally change default configuration parameter values by including them in the command with additional --set arguments. You can add as many additional --set arguments as you need.
For example, set a parameter described in Default Pulsar Configuration by adding --set config.<parameter_name>=<parameter_value>. For example, disable IPv4 support and use IPv6 instead by adding --set config.pulsarIPv4Stack=false.
Default Pulsar Configuration
The following table describes the default configuration parameters found in the Helm chart under config for the microservice.
| Name | Possible Values | Default Value | Notes |
|---|---|---|---|
| bookkeeperEnsemble | int |
|
The number of BookKeeper bookies. |
| bookkeeperWriteQuorum | int |
|
The replication factor for BookKeeper entries. |
| bookkeeperAckQuorum | int |
|
The number of guaranteed BookKeeper copies (number of acks in a complete write). |
| pulsarIPv4Stack | bool | true | Whether to use IPv4 (true) or IPv6 (false). |