Search the web
Sign In
New User? Sign Up
nservicebus
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Show off your group to the world. Share a photo of your group with us.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Best transport for internet?   Message List  
Reply | Forward Message #917 of 4721 |
RE: [nservicebus] Re: Best transport for internet?

You need to be aware of threading issues, making sure that the durable message cache doesn’t block the client from doing other work while sending, or resolving issues against communications received from the server as to what needs to be resent.

 

It’s more complicated once you get into the details.

 

--

Udi Dahan - The Software Simplist

 

From: nservicebus@yahoogroups.com [mailto:nservicebus@yahoogroups.com] On Behalf Of nstults
Sent: 01 July 2008 20:08
To: nservicebus@yahoogroups.com
Subject: [nservicebus] Re: Best transport for internet?

 

Sorry to beat a dying horse, but in the absence of a high performance,
x-copy queue for both ends of the wire (sounds like there might be one
in development a-la Berkeley DB, but I couldn't find it on Google or
Los Techies or anything) would this work from a scalability and
performance perspective?:
Have an interface along the lines of IDurableMessageCache that can be
injected into an instance of INonDurableTransport:ITransport, and on
the smart-client side of the wire, where presumably durable message
volume will be relatively moderate, you could provide an
implementation IDurableMessageCache using either a local database,
like Sql Mobile, or whatever the smart client is using for its own
persistence, to keep a copy of all messages until they are sent. If
the smart client has no local database, then you could use the file
system, but the idea is that the message store has the same deployment
requirements as the app itself. Then on the server side where you
could potentially be talking to thousands or more such clients via a
non-durable transport and you could void wheel reinventing and use
your enterprise queue similar to how it is used in the Subscription
Storage - as a transactional, high performance disk queue, but instead
of using the transport built into or used by the queuing technology,
you just use it as storage, removing messages manually from the queue
only once a message has been successfully transmitted by the
non-durable transport. I'm sure it sounds like overkill to you guys,
but we are really nervous about dealing with supporting MSMQ at remote
locations on customer computers we have no IT control over, yet at the
same time durable messaging enables the simplification of many
disconnected-client scenarios by orders of magnitude and it would too
bad to have to give it up. Anyway, does such an approach have any
hidden gotchas?

--- In nservicebus@yahoogroups.com, "Nathan Stults" <hereiam@...> wrote:
>
> Sorry about the "you guys" - didn't see the Evan Hoff bit, I
thought maybe
> it was part of MT - in any case, is that project available, or in its
> infancy?
>
> I get the point about re-creating a queue, but what existing queue
for .net
> can be one-click deployed, for instance. It really doesn't sound like it
> should be that big of a deal to throw some messages into a local
database or
> onto a disk and pull them out and send them when and if an endpoint
restarts
> with unsent messages. We're only talking about communication with
endpoints
> outside the firewall anyway using a non-durable transport, and even then
> only about the subset of messages that need to be durable - the
scalability
> and performance requirements aren't the same as they are for the primary
> transport processing back end transactions. Really, you only need this
> "feature" on some client endpoints where it might be cumbersome to
install
> and manage a more heavyweight queue. Easy deployment and durable
messaging
> remote nodes ought to be an eatable, keepable cake.
>
>
>
> From: nservicebus@yahoogroups.com
[mailto:nservicebus@yahoogroups.com] On
> Behalf Of Chris Patterson
> Sent: Monday, June 30, 2008 2:06 PM
> To: nservicebus@yahoogroups.com
> Subject: Re: [nservicebus] Re: Best transport for internet?
>
>
>
> Yep, using Berkeley DB for the backend storage, making it remain
> xcopy-deployable.
>
>
>
> On Mon, Jun 30, 2008 at 4:03 PM, Ayende Rahien <Ayende@...> wrote:
>
> Evan Hoff is doing it
>
>
>
> On Tue, Jul 1, 2008 at 12:00 AM, Udi Dahan <thesoftwaresimplist@...>
> wrote:
>
> > My point is that at this point, you are writing a queuing service, no?
>
>
>
> Yeah, yeah.
>
> How hard could it be? <wink />
>
>
>
> --
>
> Udi Dahan - The Software Simplist
>
>
>
> From: nservicebus@yahoogroups.com
[mailto:nservicebus@yahoogroups.com] On
> Behalf Of Ayende Rahien
> Sent: 30 June 2008 23:55
>
>
> To: nservicebus@yahoogroups.com
> Subject: Re: [nservicebus] Re: Best transport for internet?
>
>
>
> My point is that at this point, you are writing a queuing service, no?
>
> On Mon, Jun 30, 2008 at 11:45 PM, Udi Dahan <thesoftwaresimplist@...>
> wrote:
>
> Hmm, let's see - supporting ACID transactions, what existing proven
> technology does that?
>
>
>
> --
>
> Udi Dahan - The Software Simplist
>
>
>
> From: nservicebus@yahoogroups.com
[mailto:nservicebus@yahoogroups.com] On
> Behalf Of Ayende Rahien
> Sent: 30 June 2008 23:37
> To: nservicebus@yahoogroups.com
> Subject: Re: [nservicebus] Re: Best transport for internet?
>
>
>
> At that point, you are likely to want to have transactions there as
well,
> no?
> Aren't you recreating a queue service then?
>
> On Mon, Jun 30, 2008 at 11:23 PM, Nathan Stults <hereiam@...> wrote:
>
> Yes, but the queue is in memory. Any reason not to have (as a pluggable
> service) a simple but persistent message storage that doesn't
require any
> special installation, is transport independent and can be switched
on for
> any non-durable transport, HTTP, UDP, named pipes, WCF, whatever. I
don't
> suppose the actual wire protocol makes much difference. Such a feature
> wouldn't require most of the stuff in a real queue because the wire
> transport isn't part of the equation, just simple, transactional (or
not)
> persistent storage for transient messages. (I realize this is
essentially
> the BizTalk "message box" concept, but much less involved, and you would
> only use it for endpoints that need to emphasize deployment
flexibility).
>
>
>
> No virus found in this incoming message.
>
>
> Checked by AVG.
> Version: 8.0.101 / Virus Database: 270.4.3/1526 - Release Date:
30/06/2008
> 08:43
>
>
>
> No virus found in this incoming message.
> Checked by AVG.
> Version: 8.0.101 / Virus Database: 270.4.3/1526 - Release Date:
30/06/2008
> 08:43
>



Sun Jul 6, 2008 8:48 am

udidahan7
Offline Offline
Send Email Send Email

Attachment
~WRD000.jpg
Type:
image/jpeg
Attachment
image001.jpg
Type:
image/jpeg
Attachment
image002.jpg
Type:
image/jpeg
Forward
Message #917 of 4721 |
Expand Messages Author Sort by Date

Have any of you guys been through pros and cons of various transport options for NSB with endpoints both inside the firewall as well as out in the wild? At...
nstults
Offline Send Email
Jun 25, 2008
6:04 pm

Double for me! I too have smart client applications and I am intertested in learning how to leverage NSB without using MSMQ on the client. My initial thoughts...
Dennis Kozora
djkozora
Offline Send Email
Jun 25, 2008
6:14 pm

That method would probably work, but the moment you do that you lose pub/sub on the client, which isn't tolerable in our case at least, and the simple elegance...
Nathan Stults
nstults
Offline Send Email
Jun 25, 2008
6:20 pm

I seem to remember someone doing something like a 14 part series on what do when MSMQ over HTTP is not working right. If you have to do that many post about...
Eric Hauser
ehauser421
Offline Send Email
Jun 25, 2008
6:24 pm

The HTTP transport doesn't require any special installation on the client. Still, you need to have ports open on the firewall for duplex communication to work....
Udi Dahan
udidahan7
Offline Send Email
Jun 30, 2008
9:34 am

But (and correct me if I'm wrong), with HTTP, if the server goes down for some short period of time, the communication breaks, right and the clients have to...
Nathan Stults
nstults
Offline Send Email
Jun 30, 2008
4:24 pm

... That's what is done in the HTTP transport. ... That's defining the solution rather than solving the problem - which is already solved, BTW :) That's...
Udi Dahan
udidahan7
Offline Send Email
Jun 30, 2008
7:04 pm

What about expectations of reliability? If I successfully sent a message using MSMQ and immediately after crashed. It will still get there eventually. Not so...
Ayende Rahien
Ayende@...
Send Email
Jun 30, 2008
7:06 pm

It's actually not so much about reliability as durability. Reliability is most relevant in conversations, durability in fire-and-forget scenarios. Even when...
Udi Dahan
udidahan7
Offline Send Email
Jul 6, 2008
8:22 am

... That would be great. I don't see why you couldn't (or wouldn't) integrate with other platforms that way, though, I do hope you find time to blog about it. ...
Nathan Stults
nstults
Offline Send Email
Jun 30, 2008
8:23 pm

At that point, you are likely to want to have transactions there as well, no? Aren't you recreating a queue service then?...
Ayende Rahien
Ayende@...
Send Email
Jun 30, 2008
8:37 pm

Hmm, let's see - supporting ACID transactions, what existing proven technology does that? -- Udi Dahan - The Software Simplist From:...
Udi Dahan
udidahan7
Offline Send Email
Jun 30, 2008
8:45 pm

My point is that at this point, you are writing a queuing service, no? On Mon, Jun 30, 2008 at 11:45 PM, Udi Dahan <thesoftwaresimplist@...> ... My point...
Ayende Rahien
Ayende@...
Send Email
Jun 30, 2008
8:54 pm

... Yeah, yeah. How hard could it be? <wink /> -- Udi Dahan - The Software Simplist From: nservicebus@yahoogroups.com [mailto:nservicebus@yahoogroups.com] On ...
Udi Dahan
udidahan7
Offline Send Email
Jun 30, 2008
9:00 pm

Evan Hoff is doing it On Tue, Jul 1, 2008 at 12:00 AM, Udi Dahan <thesoftwaresimplist@...> ... service, no? Yeah, yeah. How hard could it be? <wink /> --...
Ayende Rahien
Ayende@...
Send Email
Jun 30, 2008
9:03 pm

Yep, using Berkeley DB for the backend storage, making it remain xcopy-deployable. ... Yep, using Berkeley DB for the backend storage, making it remain...
Chris Patterson
phatboyg_cmp
Offline Send Email
Jun 30, 2008
9:06 pm

Perfect - do you guys have the Berkeley DB project available to the public? From: nservicebus@yahoogroups.com [mailto:nservicebus@yahoogroups.com] On Behalf Of...
Nathan Stults
nstults
Offline Send Email
Jun 30, 2008
9:13 pm

Sorry about the "you guys" - didn't see the Evan Hoff bit, I thought maybe it was part of MT - in any case, is that project available, or in its infancy? I...
Nathan Stults
nstults
Offline Send Email
Jun 30, 2008
9:38 pm

Sorry to beat a dying horse, but in the absence of a high performance, x-copy queue for both ends of the wire (sounds like there might be one in development...
nstults
Offline Send Email
Jul 1, 2008
5:08 pm

I would not want to deploy a smart client that requires MSMQ either. Dru and I have both talked about the exact thing you mentioned, having an interface such...
Chris Patterson
phatboyg_cmp
Offline Send Email
Jul 1, 2008
5:40 pm

It is an interesting enough problem for me to spike it, give me a few hours On Tue, Jul 1, 2008 at 8:40 PM, Chris Patterson <chrisfromtulsa@...>...
Ayende Rahien
Ayende@...
Send Email
Jul 1, 2008
6:29 pm

For what its worth, it turns out the Linxter ISB client API is built for durable messaging, i.e. they have an API side message queue (using SQLite) and looks...
nstults
Offline Send Email
Jul 10, 2008
6:22 pm

You need to be aware of threading issues, making sure that the durable message cache doesn't block the client from doing other work while sending, or resolving...
Udi Dahan
udidahan7
Offline Send Email
Jul 6, 2008
8:48 am

... ought to be an eatable, keepable cake. I wonder why the Indigo team wasn't able to bake that cake in the two or so years that they tried. The hard part...
Udi Dahan
udidahan7
Offline Send Email
Jul 6, 2008
8:43 am
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help