RabbitMQ and ZE Service Usage and Requirement

Starting October 11, 2024 (Zephyr Enterprise 8.2), the Zephyr Enterprise documentation moved from its current location on Atlassian to a dedicated, standalone Zephyr Enterprise documentation page. Please see: https://support.smartbear.com/zephyr-enterprise/docs/en/zephyr-enterprise/zephyr-installation-and-upgrade-guides/zephyr-on-premise-production-installation/zephyr-enterprise-services/rabbitmq-deployment/rabbitmq-and-ze-service-usage-and-requirement.html

Solution Architecture

image-20240513-093845.png

Deployment Options

image-20240513-093940.png

Infrastructure Requirements

There were various tests performed with several variations of environment and deployments (single queue, multiple queues, cluster, etc.).

  • The setup has been tested by publishing more than 6 million test events (without JIRA) and we were able to achieve a publish rate of approx. 500 events/second.

  • During the tests, the max publish rate observed from Jira was around 1/second even when more than 10 issues/second were getting updated on Jira.

  • The new webhook solution gives optimum response considering the peak loads of approx. 10k events per day observed historically, the consumer was able to process the events and update ZE at a rate of approx. 1+ event/second.

  • It is also evident that with this processing capacity, the setup shall be able to accommodate a 5x growth in event volume (up to 50k per day).

 

The proposed infrastructure required to deploy the new webhook solution is as follows:

Model

vCPU per Node

Memory per Node

Storage per Node

Remark

3 Node Cluster of RabbitMQ - Single Queue

4 core

16GB

100GB

Volume >= 10k events per day

3 Node Cluster of RabbitMQ - Multi Queue (Max 5 Queues)

8 core

32GB

200GB

Volume >= 10k events per day

Single Node of RabbitMQ - Single Queue

4 core

16GB

100GB

Volume < 10k events per day

(ZE Shared)
RabbitMQ- Single Node

4 Cores

16 GB

100 GB

Volume < 10k events per day

Pre-requisites:

  • Ubuntu 20.04/RedHat-9

  • RabbitMQ 3.12.10

  • Java 17

  • Tomcat 10. x (if self-host not allowed)/ Docker/Jar deployment

Source

Destination

Ports

Comments

Source

Destination

Ports

Comments

Jira Server/Cloud

Webhook Server

80/443

For Jira to push events to the Webhook service

Webhook Server

RabbitMQ Server

5672/15672

Connectivity to all nodes in case of cluster

RabbitMQ Server (s)

RabbitMQ Server (s)

5672/15672

Applicable in case of Cluster for inter-node communication

Consumer Server

RabbitMQ Server

5672/15672

Connectivity to all nodes in case of cluster

Consumer Server

Jira Server/Cloud

80/443

For Consumers to communicate with JIRA 

Consumer Server

ZE Database Server

Port on which DB service is running

For Consumers to update requirements on ZE

Consumer Server

ZE Application Server

80/443

For Consumers to handshake with ZE APIs

Â