Skip to main content
6 votes

REST APIs vs Message brokers for Backend to Backend communication

Message broker will allow your systems to be offline at different times without rendering the ecosystem unusable. For example you can add a product without the marketplace being available (assuming ...
LoztInSpace's user avatar
  • 1,209
5 votes

How to decouple messaging middleware from microservices?

How should I share the functions of the target language that can be invoked by the shared library? Most languages/ecosystems have packages, and a system which manages those packages and the ...
Arseni Mourzenko's user avatar
4 votes

How to share API between microservices?

The problem we are facing currently is if there is a change in JSON schema files, all the services using the files, along with the translation layer in the respective services need to be adapted to ...
JonasH's user avatar
  • 5,998
4 votes
Accepted

Applications interested to the same event and concurrency

You can rarely guarantee the execution order of anything concurrent; therefore, the obvious solution although not necessarily satisfying is to sequence the operations. Some suggestions to do that: ...
Diane M's user avatar
  • 2,106
3 votes

RabbitMQ or REST API Public

If I were you, I would use a REST API. This has several advantages: Less stateful connections. Every REST-Call is stateless. having thousands of clients, you don't have thousands of open connections. ...
Sn0bli's user avatar
  • 561
3 votes

Applications interested to the same event and concurrency

Let me quickly rephrase your question to make sure I am understanding correctly. You have two applications, App_A and App_B. They both subscribe to the same message, CreationEvent. When App_B gets the ...
Zach's user avatar
  • 161
2 votes

RabbitMQ: Topics and Persistence/Durability

What may be confusing is the RabbitMq pub/sub tutorial uses temporary anonymous queues created by the consumers : https://www.rabbitmq.com/tutorials/tutorial-three-spring-amqp.html, so yes, in this ...
Tristan's user avatar
  • 207
2 votes

asp.net Core 2 MVC - best way to send 1000s of emails every day

This really sounds like something you could easily put in a AWS Lambda. We do something similar at my company using Azure Functions. You could even chain them together. One lambda determines who to ...
Aaron Havens's user avatar
2 votes
Accepted

MQ Architecture: How to handle old messages in the queue and releasing a consumer/producer upgrade

We try to make sure all changes to a message contract are both forward and backward compatible. In those rare cases where there is truly a breaking change in the message contract, we consider that a ...
MattDavey's user avatar
  • 7,126
2 votes
Accepted

What's the use of event sourcing and asynchronous message queues for sending commands

So what is the use of persisting the events as a sequence when we are unsure about their order? Well, we are sure about the order of events -- they are sequenced in the order that they are written, ...
VoiceOfUnreason's user avatar
2 votes

Rabbitmq and multiple subscribers

I'm late to the party, but maybe this is still useful for others. A fanout exchange does what you need. Create one queue for each application/microservice. Create a fanout exchange. Bind each queue to ...
sebastian's user avatar
  • 121
2 votes
Accepted

Inter-microservice communication with gRPC without hard-coding service endpoints

gRPC is certainly a popular choice, though I would balk at referring to any particular paradigm as unequivocally the best in an area as diverse as microservices. The various means you list (gateways, ...
Michael's user avatar
  • 6,467
2 votes
Accepted

Synchronisation of different "channel" in an asynchronous way

Mostly what a message broker buys you is the ability to publish to a topic without having to keep track of the subscribers. Message brokers don't magically speed you up. In fact, they add some queuing ...
Karl Bielefeldt's user avatar
2 votes
Accepted

Pull important messages from DLQ queue and save them in a relational database, to be analyzed and sent back later. Is it a good idea?

The proper term for the issue you are addressing is 'poison message processing'. Dead letter queues are typically used by messaging systems for undeliverable messages. A poison message is one that a ...
JimmyJames's user avatar
  • 28.9k
2 votes

AMQP messaging: How to generate documentation for consumers?

I would personally use documentation comments. It is a good place to start at the very least. This looks like it is C#, where they are defined using /// (however most languages have them). For C# in ...
Max Clifford's user avatar
2 votes
Accepted

Best approach to update the User Interface on consumed event(s)?

Unless you need actual real-time feedback, polling the server using a normal REST endpoint is the simplest method. When the client starts an activity on the server, it should receive a link to a ...
Hans-Martin Mosner's user avatar
2 votes

Common library for classes and communication between microservices?

Code shared between projects should indeed be kept in a library, just like all the other shared code that you use. You don't want to implement persistency layers or TLS connection handling for each ...
Hans-Martin Mosner's user avatar
2 votes
Accepted

Common library for classes and communication between microservices?

The reason why people tend to recommend against shared code in between microservices is that it creates organizational interdependencies in between services and teams. It is OK to use external ...
yeoman's user avatar
  • 383
2 votes

How to dispatch sets of items to the relevant (LB) exclusive consumers with RabbitMQ?

In the type of system that you're describing, the various workers need to be able to negotiate with each other and come to a consensus. Here's one possible design that might meet your needs. I hope ...
Merkle Groot's user avatar
2 votes

Rabbitmq create queues dynamically based on number of users

First of all, it's normal that each user has their own queue. I don't know why the blog author recommends against it (didn't read) but I assume that his case is a bit different from yours. Depending ...
Hans-Martin Mosner's user avatar
2 votes

Are RabbitMQ Streams overkill for 1 machine event-driven architecture aplication?

If you need to use multiple processes, a message queue can be appropriate. If you only have one process one of the main advantages will be lost, but that does not mean it cannot provide some utility. ...
JonasH's user avatar
  • 5,998
2 votes

Message broker design pattern best practice

If you adopt Kafka you'll find its ability to replay the log, during development or after a production incident, is very useful. If you instead choose RabbitMQ or SQS, pay careful attention to message ...
J_H's user avatar
  • 7,605
1 vote

Inter-microservice communication with gRPC without hard-coding service endpoints

gRPC is a communication protocol. it needs to have the address of the target server just as you need server address for Http, FTP, SMTP and other protocols. so there should be something that can ...
Simple Fellow's user avatar
1 vote

Pull important messages from DLQ queue and save them in a relational database, to be analyzed and sent back later. Is it a good idea?

I understand your concerns about this, but I would say that yes, you do need to extract the dead messages from the queuing system. My sole reason for saying this is this sentance: maybe even ...
Ewan's user avatar
  • 79.8k
1 vote

Process AMPQ messages both reliably and fast

This is not necessarily the best way to solve it either, but I thought Id throw the thought out there. How about the initial consumer just consuming the message, immediately sending it to another ...
wasatz's user avatar
  • 3,505
1 vote
Accepted

Moving single tenant application with queue to multi tenants web application

First choice is better for security and independence between tenants, like the choice about database.But you have to build tools to handle it. Failure of one queue, don't expose failure to other ...
mik3fly-4steri5k's user avatar
1 vote

Rabbitmq and multiple subscribers

Yes, but it's not a queue, it's then called the publisher/subscriber pattern. Queue - every item gets processed once. If there are multiple agents, every work item still gets processed once. Example: ...
Martin K's user avatar
  • 2,917
1 vote

Rabbitmq and multiple subscribers

can a queue have multiple consumer ? Yes it's possible that multiple consumers take messages from the same queue. But every message is only consumed once by one consumer is it possible for the ...
keuleJ's user avatar
  • 158
1 vote

Implementing RESTful API in front of Event based microservices

I see what your are saying. I do have a few objections though. a) The gateway will not be synchronous. Asynchronous programming e.g. nodeJS sends a requests and when a response arrives it executes ...
Cap Barracudas's user avatar
1 vote

How to send queue messages to one queue in rabbitmq?

At work I have worked in a similar requirement that you have proposed here. I'd like to answer your questions and give some more hints here. First of all for starters please study this link in order ...
Tugrul ASLAN's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible