RabbitMQ

2 Introduction

RabbitMQ is an open source application that enables robust messaging for applications. It implements the Advanced Message Queuing Protocol (AMQP), the emerging standard for high performance enterprise messaging. The RabbitMQ server is a robust and scalable implementation of an AMQP broker.

The KEMP LoadMaster is used to load balance the RabbitMQ workload. The LoadMaster offers advanced Layer 4 and Layer 7 server load balancing, SSL Acceleration and a multitude of other advanced Application Delivery Controller (ADC) features. The LoadMaster intelligently and efficiently distributes user traffic among the application servers so that users get the best experience possible. Note that the KEMP template supports up to version 3.6 of RabbitMQ.

2.1 Document Purpose

This document provides the recommended LoadMaster settings used when load balancing the RabbitMQ workload. The KEMP Support Team is available to provide solutions for scenarios not explicitly defined. The KEMP support site can be found at: https://support.kemptechnologies.com

2.2 Intended Audience

This document is intended to be read by anyone who is interested in configuring the LoadMaster to optimize RabbitMQ Application Server.

3 Template

KEMP has developed a template containing our recommended settings for this workload. You can install this template to help when creating Virtual Services, as it automatically populates the settings. This is quicker and easier than manually configuring each Virtual Service. If needed, changes can be made to any of the Virtual Service settings after using the template.

Download released templates from the Templates section on the KEMP documentation page: http://kemptechnologies.com/documentation.

For more information and steps on how to import and use templates, refer to the Virtual Services and Templates, Feature Description on the KEMP Documentation Page.

For steps on how to manually add and configure each of the Virtual Services using the recommended settings, refer to the steps in this document.

4 Architecture

Architecture.png

5 Service Configuration

5.1 Enable Subnet Originating Requests Globally

It is best practice to enable the Subnet Originating Requests option globally.

In a one-armed setup (where the Virtual Service and Real Servers are on the same network/subnet) Subnet Originating Requests is usually not needed. However, enabling Subnet Originating Requests should not affect the routing in a one-armed setup.

In a two-armed setup where the Virtual Service is on network/subnet A, for example, and the Real Servers are on network B - Subnet Originating Requests should be enabled on LoadMasters with firmware version 7.1-16 and above.

When Subnet Originating Requests is enabled, the LoadMaster will route traffic so that the Real Server will see traffic arriving from the LoadMaster interface that is in that network/subnet not the Virtual Service address.

When Subnet Originating Requests is enabled globally, it is automatically enabled on all Virtual Services. If the Subnet Originating Requests option is disabled globally, you can choose whether or not to enable Subnet Originating Requests on a per-Virtual Service basis.

To enable Subnet Originating Requests globally, follow the steps below:

1. In the main menu of the LoadMaster Web User Interface (WUI), go to System Configuration > Miscellaneous Options > Network Options.

SCMONO002.png

2. Tick the Subnet Originating Requests check box.

5.2 Configuring the RabbitMQ Virtual Service

To configure the Virtual Service on the LoadMaster, follow the steps below in the WUI:

1. In the main menu, select Virtual Services > Add New.

Configuring the RabbitMQ Virtual.png

2. Enter a valid Virtual Address.

3. Type 5672 as the Port.

4. Type a recognizable Service Name such as RabbitMQ.

5. Click Add this Virtual Service.

6. Configure the settings as recommended in the following table:

Section Option Value Comment
Standard Options

Force L7

Disabled

 

 

Persistence Mode

Source IP Address

 

 

Timeout

10 minutes

 

 

Scheduling Method

least connection

 

Real Servers

Checked Port

5672

Click Set Check Port

7. Add the Real Servers:

a) Expand the Real Servers section.

b) Click Add New.

c) Enter the address of the relevant Real Server.

d) Complete the other fields as required.

e) Click Add this Real Server then click OK to the pop-up message.

f) Repeat the steps above to add more Real Servers as needed, based on your environment.

References

Unless otherwise specified, the following documents can be found at http://kemptechnologies.com/documentation.

Virtual Services and Templates, Feature Description

Document History

 

Date

Change

Reason for Change

Version

Resp.

Sept 2016

Initial release

First release of document

1.0

POC

Jan 2017

Minor change

Updated Copyright Notices

2.0

LB

July 2017 Minor updates Enhancements made 3.0 CMC

 

 

Was this article helpful?

0 out of 0 found this helpful

Comments