Pulsar

Overview

The Apache Pulsar microservice is a multi-tenant, high-performance solution for server-to-server messaging. It provides very low publish and end-to-end latency and guarantees message delivery with persistent message storage. Pulsar provides the backbone for Unified Assurance microservice pipelines and runs in the a1-messaging namespace.

Prerequisites

  1. A microservices cluster must be setup. Refer to Microservice Cluster Setup.

Setup

Standard Single Server deployment (default node replicas for each pod: 1)

su - assure1
export WEBFQDN=<Primary Presentation Web FQDN> 
a1helm install pulsar assure1/pulsar -n a1-messaging --set global.imageRegistry=$WEBFQDN --set singleNode=true

Standard High-Availability deployment (default node replicas for each non-monitoring pod: 3)

su - assure1
export WEBFQDN=<Primary Presentation Web FQDN> 
a1helm install pulsar assure1/pulsar -n a1-messaging --set global.imageRegistry=$WEBFQDN

Non-standard High-Availability deployment (you can set default node replicas for each non monitoring pod with "targetReplicas" variable)

su - assure1
export WEBFQDN=<Primary Presentation Web FQDN> 
a1helm install pulsar assure1/pulsar -n a1-messaging --set global.imageRegistry=$WEBFQDN --set targetReplicas=5

Default Configuration

Name Possible Values Value Notes
bookkeeperEnsemble int 1 when singleNode is true.
Equals to replicaCount when singleNode is false.
If override is specified, then that value is used.
Set the value of bookkeeper ensemble during installation.
bookkeeperWriteQuorum int 1 when singleNode is true.
Equals to replicaCount when singleNode is false.
If override is specified, then that value is used.
Set the value of bookkeeper writeQuorum during installation.
bookkeeperAckQuorum int 1 when singleNode is true.
Equals to ceiling(replicaCount/2) when singleNode is false.
If override is specified, then that value is used.
Set the value of bookkeeper ackQuorum during installation.
pulsarIPv4Stack bool true Switch off (false) to enable IPv6 support in pulsar.

Configurations can be changed by passing the values to the a1helm install prefixed with the config parent key.

Example of changing configuration when using the command line

Changing the pulsarIPv4Stack to false

a1helm install ... --set config.pulsarIPv4Stack=false