Customer requirements for a la MassTransit messaging using MSMQ?

Before using MSMQ, I do not quite understand the client environment requirements in order to use it.

I am developing a client / server solution that will integrate with the legacy system and I will be selling in messaging mode. I would like to use a service bus implementation such as MassTransit, but this requires MSMQ.

Do I have to ensure that MSMQ is installed on every client PC?

I do not think that my prospects for selling this for administrator password keepers are very good.

Currently, I can reliably expect that Windows XP Professional will be installed on every client computer, but this can change, and I understand that MSMQ is not installed by default on later operating systems, which will be an even bigger headache.

Can someone explain to me how this works? I can not imagine how any commercial software can rely on MSMQ if I am missing something significant (I hope I am).

(Server is not a problem - I have full control there.)

+4
source share
3 answers

To answer your main question. Yes. On each PC, the MSMQ service must be running. I do not think that MSMQ is intended for general user type of software, but for corporate communication with server and server. Of course, I was mistaken, but with the limitations that you are asking about, I do not see how this can be used for commercial software.

+2
source

An ESB (or even an easy option, such as MassTransit or NServiceBus) is really not designed to communicate between the client and server. If you have an application with a thick client that needs to communicate with internal services, it might be wiser to create a SOAP and / or REST layer that clients will contact. For this level of service, you can use the messaging inside you, depending on your scalability requirements. Messages are very useful for working with highly dynamic loads along with other technologies such as caching.

If you want to make messaging on the client, you can use a broker type messaging system (ActiveMQ fits here, this is a normal TCP / IP connection) and connect to it with the client. This is a way to do this, not necessarily the best way depending on your situation. MassTransit can use ActiveMQ, allowing you to abstract the MSMQ / ActiveMQ programming APIs with a more universal transport interface.

There are many options when designing distributed systems, regardless of whether you need communication between the client and the client, as well as interaction between the client and the server. It really helps to differentiate different technology options.

+5
source

The answer, in my experience, is this: when using masstransit, use rabbitmq, not msmq. cf Masstransit: Can it use a central msmq server? (Or do I need to run w / RabbitMQ from the very beginning?)

0
source

Source: https://habr.com/ru/post/1299480/


All Articles