3/14/2023 0 Comments Masstransit alternatives![]() I could also subscribe to the same message multiple times That will require that I implement a request/response pattern on top of Was to use send/receive using a unique queue name per device, however Request/response is out as it works off message type (can't maintain a unique message type per device). Number of devices is dynamic (and growing), and because multiple devices can serve requests at the same time (but one request per device), So, on to how I'd implement this using EasyNetQ. It just wasn't made for this type of scenario. That generally works, but due to the architecture of Masstransit it is incredibly resource intensive to create and recreate upwards of 70 buses on demand (1-2 minutes on a fast machine). On the client end I would listen on a temporary queue (*?temporary=true in the rabbitmq uri), issue a request directly to that endpoint and wait for a response on that temporary queue. In Masstransit created one bus per device, each with its own endpoint. Clients will be created ad-hoc and must be able to receive their responses in isolation. The final requirement is that I cannot use a permanent queue for the clients to receive a response. I have the actual communication with these devices working, I just need something to ensure a device cannot receive multiple requests concurrently. ![]() Now, I want to be able to service requests for many devices concurrently, so many devices can all be servicing a request at one time. As the devices use simple ascii request/response, I want to funnel all of that through a queue to ensure only one request is serviced at a given time. Our goal is to poll these devices for information on a schedule, as well as allow for ad-hoc connections by maintenance staff. We have around 70 devices that we need to talk to over the network, but they tend to crash if more than one client connects to a device at a given time. Here's a summary of what I'm trying to accomplish: I'm investigating using EasyNetQ for my current project, rather than Masstransit (which I would usually use, but is far too cumbersome in this scenario).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |