Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3607240
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 18, 20262026-05-18T21:21:04+00:00 2026-05-18T21:21:04+00:00

All, I’m looking for advice over the following scenario: I have a component running

  • 0

All,

I’m looking for advice over the following scenario:

I have a component running in one part of the corporate network that sends messages to an application logic component for processing. These components might reside on the same server, different servers in the same network (LAN ot WAN) or live outside in the cloud. The application server should be scalable and resilient.

The messages are related in that the sequence they arrive is important. They are time-stamped with the client timestamp.

My thinking is that I’ll get the clients to use WCF basicHttpBinding (some are based on .NET CF which only has basic) to send messages to the Application Server (this is because we can guarantee port 80/443 will be open for outgoing connections). Server accepts these, and writes these into a queue. This queue can be scaled out if needed over multiple machines.

I’m hesitant to use MSMQ for the queue though as to properly scale out we are going to have to install seperate private queues on each application server and round-robin monitor the queues. I’m concerned though that we could lose a message on a server that’s gone down until the server is restored, and we could end up processing a later message from a different server and disrupt the sequence.

What I’d prefer is a central queue (e.g. a database table) that all application servers monitor.

With this in mind, what I’d like to do is to create a custom WCF binding, similar to netMsmqBinding, but that uses the DB table instead but I’m confused as to whether I can simply create a custom transport or a I need a full binding, and whether the binding will allow the client to send over HTTP. I’ve looked around the internet but I’m a little confused as to where to start.

I could not bother with the custom WCF binding but it seems a good way to introduce scalability if I do need to seperate the servers.

Any suggestions please would be helpful, including alternatives.
Many thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-18T21:21:04+00:00Added an answer on May 18, 2026 at 9:21 pm

    I would start with MSMQ because it is exactly for this purpouse. Use single transactional queue on clustered machine and let application servers to take messages for processing from this queue. Each message processing has to be part of distributed transaction (MSDTC).

    This scenario will ensure:

    • clustered queue host will ensure that if one cluster node fails the other will still be able to handle requests

    • sending each message as recoverable – it means that message will be persisted on hard drive (not only in memory) so in critical failure of the whole cluster you will still have all messages.

    • transactional queue will ensure that all message transport operations will be atomic – moving message from outgoing queue to destination queue will be processed as transaction. It means that original message from outgoing queue will be kept in queue until ack from destination queue arrives. Transactional processing can ensure in order delivery.

    • Distributed transaction will allow application servers consuming messages in transaction. Message will not be deleted from queue until application server commits transaction or transaction time outs.

    • MSMQ is also available on .NET CF so you can send messages directly to queue without intermediate non-reliable web service layer.

    • It should be possible to configure MSMQ over HTTP (but I have never used it so I’m not sure how it cooperates with previous mentioned features).

    Your proposed solution will be pretty hard. You will end up in building BizTalk’s MessageBox. But if you really want to do it, check Omar’s post about building database queue table.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

All -- I have these two methods in one of my classes: public static
All, I have some script tags that are not working in Wordpress. If I
All, Say I have the following bit of code: select: function(start, end, allDay) {
I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
All, I have the following code: $fetch = mysql_query(SELECT * FROM calendar_events where event_status='booked'
All, I have a form with a MultiValueField that almost works. It uses a
all.I'm a beginner of Mysql and I have one simple question here. I want
All my PHP pages work fine but there is one PHP page that used
All- I have the following code: class AddStringTask extends AsyncTask<Void, String, Void> { @Override
All, I currently have two projects that are under SourceSafe that I am unable

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.