Click here to Skip to main content
15,905,229 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi All,

I am going to work on the Payment module. The volume of Request my software is going to receive is higher than the volume of requests the third Party Payment Gateway service can handle.

So, I am planning to use the Rabbit MQ for Queuing the Requests. I am not sure how to use it and what should be the architecture for my software with reference to the Message Queue.

Kindly help.

Thanks,
Chris
Posted

1 solution

My suggestion is take a simplistic approach. While I have not personally used RabbitMQ, this is a generic queuing approach to this problem.

I would setup a central server (ideally highly available) that all of your other applications or web servers will send messages too. The message should contain the sale amount, payment details, transaction identifier that is unique, source application and source server. Remember that when sending these messages, it needs to be over a secure channel.

On the central server, I would have an application that processes the queue's contents and submit the transactions to your gateway based on the load they are able to handle. This may require a little bit of parallelism. Once you get the response back, you would write the results to another queue. This queue could live on the same server or on the server the message originated from (preferred).

The originating application is then mentoring the response queue for a message with the transaction identifier. This way, it can alert the user on the success or failure.

If this seems too confusing, I can diagram it out for you.

Hope this helps.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900