DEV Community

Cover image for Using RabbitMQ in lead generation system development
Diana Maltseva
Diana Maltseva

Posted on • Edited on

Using RabbitMQ in lead generation system development

In this post, you'll find a practical example of applying RabbitMQ in software development.

RabbitMQ server is a queue server which allows different applications to interact with each other according to AMQP protocol, widely used by such corporations as Google, Microsoft, NASA, Red Hat, VMware, AT&T.

RabbitMQ is employed for developing service architecture when the following selected services process resource intensive and dormant tasks:

Xero – service for online bookkeeping
Secure Trading – service for payment processing

RabbitMQ is used to establish communication between servers; perhaps, it is one of the most efficient solutions for this purpose.

Imagine, that the company has the following problem: with an increasing number of clients, a lot of time was spent on such financial service operations as invoice creation, payment request, payment verification, and confirmation (the operations are made manually).

Tasks:

To automate processes of creating invoices via third-party Xero API and delivering invoices via email; make automatic debiting from user card via Secure Trading API.

Solution with cron

The first pancake was a failure. We created a script, which runs two times a week and made necessary actions within a single process. This imposed constraints on the overall performance (long answer waits from API). Also, any mistake on one of the stages led to finishing the work of the whole process and required a complete script restart.

So, we came to the conclusion that we needed to divide code into several independent processes with the ability of communication between them.

Learn more about using RabbitMQ in building a lead generation system and creating messengers.

Also, feel free to share your experience in working with this technology!)

Top comments (0)