Sorry Scott, multicasting is not a prerequisite for nservicebus. It may be
for MassTransit I'm not sure. I'm sure you have seen this post:

http://elegantcode.com/2009/10/09/exploring-nservicebus/

HTH.

- Steve

On 10 July 2011 22:24, Scott Barnes <scott.bar...@gmail.com> wrote:

> Used it, preferred MassTransit .. these help with distribution of services
> etc and also relies on Multicasting to be in place. The problem im having is
> for some reason when you have a mix of Workgroups with Domains multicasting
> seems to just fail (still troubleshooting specifically as to why). I figured
> at worse case assuming multicasting is just above my .net intellect /
> paygrade :D i'd revert back to a home made version of multicasting (ie keep
> track of which clients socket into the grid manually).
>
>
> ---
> Regards,
> Scott Barnes
> http://www.riagenic.com
>
>
> On Sun, Jul 10, 2011 at 9:53 PM, Stephen Liedig <slie...@gmail.com> wrote:
>
>> Scott,
>>
>> I have one word for you - *NServiceBus*.
>>
>> It won't help you draw any nice pictures, but will answer your need
>> for distributed applications using MSMQ.
>>
>> Regards,
>>
>> Steve
>>
>>
>>
>>
>> On 8 July 2011 08:53, Scott Barnes <scott.bar...@gmail.com> wrote:
>>
>>> Kind of... i even did it via VS 2010 Ultimate Architecture thingies ;)
>>> .... and i'm ashamed to admit this but i just discovered Multicasting in
>>> MSMQ 3.0 ... so most of the below is kind of free out of the box. In my
>>> defense I re-wrote my own Multicasting so that has to win some geek points
>>> right?
>>>
>>> This is why I should always stay in Photoshop.
>>>
>>> ---
>>> Regards,
>>> Scott Barnes
>>> http://www.riagenic.com
>>>
>>>
>>> On Fri, Jul 8, 2011 at 10:39 AM, Jorke Odolphi <jor...@microsoft.com>wrote:
>>>
>>>>  As a UX developer.. have you drawn a picture of it?****
>>>>
>>>> ** **
>>>>
>>>> *From:* ozdotnet-boun...@ozdotnet.com [mailto:
>>>> ozdotnet-boun...@ozdotnet.com] *On Behalf Of *Scott Barnes
>>>> *Sent:* Thursday, 7 July 2011 2:07 PM
>>>> *To:* ozDotNet
>>>> *Subject:* MSMQ Distributed Saga across multiple machines?****
>>>>
>>>> ** **
>>>>
>>>> I've got a bit of an architectural question (its .NET related).****
>>>>
>>>> ** **
>>>>
>>>> Using a Starbucks concept, say you have the following services.
>>>> CashierService, BaristaService, CustomerService and AuditService. Typical
>>>> workflow is that the Cashier, Barista and Customer all exist on their own
>>>> instances along with the guy monitoring their behaviors (lets say Starbucks
>>>> time in motion study is under way and audit guy is looking for a better way
>>>> to optimize everyone's work).****
>>>>
>>>> ** **
>>>>
>>>> Scenario****
>>>>
>>>> ~~~~~~~~~~~~~~****
>>>>
>>>> CustomerA walks into the store, orders their beverage of choice. Cashier
>>>> takes the order down and responds after x cycles with a price. Barista 
>>>> hears
>>>> the order (without asking Customer or Cashier) and begins making the
>>>> beverage under the likelihood of the transaction failing being quite low.
>>>> Customer then pays Cashier independent of Barista completion state and goes
>>>> and waits for the drink. Barista hands the drink to the customer and the
>>>> customer triggers a "complete" status by saying thank you to the Barista /
>>>> cashier "thanks guys, cya next time" (loud voice).****
>>>>
>>>> ** **
>>>>
>>>> Given the entire workflow is done via Saga, i'm wondering how this could
>>>> play out given each actor i guess represents a server/device?****
>>>>
>>>> ** **
>>>>
>>>> My thinking so far is the following:****
>>>>
>>>> ~~~~~~~~~~~~~~****
>>>>
>>>> Customer Sends Message to Cashier. Cashier then Echos the Message to
>>>> Barista and Audit (because it knows about these two given they belong to 
>>>> the
>>>> Starbucks context/domain). Barista sends acknowledgement to both Audit and
>>>> Cashier that the NewOrder was of a known type and begins the
>>>> CoffeeMakingWorkflow. Now, the transaction is governed by an AuditService
>>>> who's job is to verify the Saga as being complete through-out stages,
>>>> meaning the Cashier transacts with the customer and every time a new update
>>>> occurs it notifies Audit. Barista then does the same with both Cashier and
>>>> Customer but also notifies Audit when it's completed its conditions of
>>>> success (in this case, coffee was made and handed to customer). Audit then
>>>> does a quick "Ok Money taken, Order handed off.. yes, we're done" and gives
>>>> it an immediate final ApprovedForFinalDelivery stamp.****
>>>>
>>>> ** **
>>>>
>>>> Customer then does one last check "ie does the coffee exist in their
>>>> hands" and then tells both cashier and/or barista that they
>>>> are satisfied with the transaction. These two then both immediately notify
>>>> the audit of a customer confirmation and the audit basically takes the 
>>>> first
>>>> confirmation and ignores the rest (first to tell him wins a gold star sort
>>>> of thing).****
>>>>
>>>> ** **
>>>>
>>>> Using MSMQ/ActiveMQ/ZeroMQ etc. Basically each time a node connects with
>>>> one another it sends the address of where they exist in the gird
>>>> (msmq://machinex/nodeX). Each node keeps a local copy of the URI and puts 
>>>> it
>>>> into its ping/pong heartbeat check queue (who's sole job is to maintain a
>>>> list of live connections for other services/workflows to use).****
>>>>
>>>> ** **
>>>>
>>>> Each machine has what i'd call a "gossip" service whereby its
>>>> entire existence is to re-echo inbound messages through the URI queue (kind
>>>> of a distributed multi-cast scenario - or it could very well be that :D). 
>>>> As
>>>> it echo's it adds its URI to the "ToldMessage" list (ie the packet gets
>>>> handed around the grid with basically a list of URI's that have already 
>>>> been
>>>> told the message - based off its CorrelationId). Each node does this until
>>>> they have heard the message in which case they ignore all future messages
>>>> being sent of them (in case you have a situation where two nodes assume
>>>> "BlahMachine" hadn't heard the message and so they in turn tell them (perks
>>>> of fire and forget?)****
>>>>
>>>> ** **
>>>>
>>>> Question:****
>>>>
>>>> ~~~~~~~~~~~~~~~~****
>>>>
>>>> Given I'm clearly a just a UX Developer, does the above hold water? or
>>>> am I just smoking way to many Pixels lately to fully grasp the awesomeness
>>>> of publish/subscription servicing across private/public cloud(s)?****
>>>>
>>>> ** **
>>>>
>>>> ** **
>>>>
>>>>
>>>> ---
>>>> Regards,
>>>> Scott Barnes
>>>> http://www.riagenic.com****
>>>>
>>>
>>>
>>
>

Reply via email to