I am looking for some implementation recommendations. What are the advantages and disadvantages of using wcf bindings or using the simple vanilla.net rabbitmq api. This is the moment when we are not limited in use. I am new to rabbitmq but made a bunch of wcf.
We have a product that collects information from publishers on each device. The product is behind the firewall (for now). The publisher will need 3-4 channels.
- Request / response to publish metrics for publishing / signing on the server using ack from the server.
- Refresh channel to update the publisher rule base for metrics from the server.
- The Heartbeat channel for server verification is complete and responds to the heartbeat of the server.
- Possible dead letter channel.
The publisher will be a cross platform. Thinking of hosting in Mono, Linux, BSD, Solaris, Android, MacOs, iOS, and possibly Aix / HP-UX. I don't know how effective the wcf endpoints are in these cases.
Will the server have several employees, each of whom will receive the same message from his own? queue, ack it and process it against its own rule base. I would like the workers to be connected with the events. The server must be high-performance, from 10 to 100 kbytes per minute. No messages can be lost from the publisher to the server.
Im swinging towards using a simple api as it offers more flexibility regarding things like threads / serialization / session management / security / compression, but the product can be moved to Azure and presented as SaaS or PaaS, and with wcf endpoint it makes sense talk to publishers in both windows on / off, but it will be in the long run.
c # architecture wcf rabbitmq
scope_creep
source share