Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Terminology

  • Exchange: An exchange is a very simple thing. On one side it receives messages from producers and the other side it pushes them to queues.
  • Queue: They store messages that are consumed by applications.
  • Message: An item that is put on a queue.
  • Producer: Producing means nothing more than sending. A program that sends messages is a producer.
  • Consumer: Consuming has a similar meaning to receiving. A consumer is a program that mostly waits to receive messages.

Table of Contents

Checklist

Before installation please check the following checklist provided by RabbitMQ: https://www.rabbitmq.com/production-checklist.html. Even when not installing RabbitMQ for a production environment, the following things need to be taken into account:

Info

Customerdata Service version 2.0.0 and up makes use of a RabbitMQ queue. Trace Event Publisher component version 11.3 and up makes use of a RabbitMQ queue.

The Customerdata Service and the Trace Event Publisher can send events to a queue when data is changed. This queue can then be consumed by other systems that want to do something with the (changed) data. In order to let the Customerdata Service or the Trace Event Publisher send events to a queue you need to install and configure this queue. On this page there is information available about how to setup and maintain this queue.

Table of Contents

Conditions


  • Memory: Nodes hosting RabbitMQ should have at least 128MB of memory available at all times
  • Memory: RabbitMQ will not accept any new messages when it detects that it's using more than 40% of the available memory
  • Disk free space limit: The default limit for RabbitMQ to block all publishers is 50MB, this is low and should be changed to a more sensible value (follow the link below)
    Users: Delete the default user (guest). Default user only can connect from localhost by default, because it has well-known credentials
  • File handles limit: Make sure your environment allows for at least 50K open file descriptors for effective RabbitMQ user, including in development environments.
  • Users: Delete the default user (guest). Default user only can connect from localhost by default, because it has well-known credentials


Downloading and installing RabbitMQ

Download and install RabbitMQ using the installation guidesFor more information on the (minimum) requirements, please read the followinghttps://www.rabbitmq.com/production-checklist.html

Terminology

  • Exchange: An exchange is a very simple thing. On one side it receives messages from producers and the other side it pushes them to queues.
  • Queue: They store messages that are consumed by applications.
  • Message: An item that is put on the queue, in this case this will be an aggregate.
  • Producer: Producing means nothing more than sending. A program that sends messages is a producer.
  • Consumer: Consuming has a similar meaning to receiving. A consumer is a program that mostly waits to receive messages.

How to setup the queue

At this moment the only supported Queue is RabbitMQ. First you need to download the rabbitmq-server-3.6.14 from here, please choose the correct version for your operating system.

Installation

First install RabbitMQ using the installation manual for you operating system. You can find these manuals under Installation Guidesdownload.html.

After RabbitMQ is installed we need to activate the management-plugin to be able to access the management user interface of RabbitMQ.so we can access RabbitMQ via a web interface. This is described in this article: https://www.rabbitmq.com/management.html, of which the main steps are outlined below:

  1. Go to the /sbin folder of the installation folder of RabbitMQ  and open a command prompt
  2. Enable the management plugin that is included with RabbitMQ server;
    run 'Open a command prompt and run rabbitmq-plugins enable rabbitmq_management' from the command prompt

  3. The RabbitMQ dashboard should now be accessible through http://localhost:15672, default user is 'guest' with password 'guest'
    1. Info

      Be aware that by default, the guest user can only login from localhost

    2. add a new user so you can remove the guest user. please see: https://www.rabbitmq.com/access-control.html