SQL Server Service Broker as a transport?

607 views
Skip to first unread message

Jeffrey Becker

unread,
May 11, 2014, 11:36:27 PM5/11/14
to masstrans...@googlegroups.com
I'm taking a stab at writing a transport over SqlServer Service Broker and it brings up some questions:

1) Is this something worth spending my open source time on?  I've got to write it because the internal corporate realities basically dictate SqlServer but is this something other people would find valuable? 
2) Would it be better to fork the repo and submit a pull request or build it as a completely separate project?
3) Transports seem to be a non-trivial quantity of code is my best approach to start at the Inbound/Outbound transport implementation and work out till I've implemented a TransportFactory correctly?
4) Sql Server doesn't support headers or properties on messages. Is my best approach here to just pack that info into the message or is that potentially irrelevant information which I can drop?

Chris Patterson

unread,
May 12, 2014, 1:12:31 PM5/12/14
to masstrans...@googlegroups.com
I won't comment on the viability or desire for it, but I would highly suggest making a separate repository for it.

I have a horrible opinion of SQL Service Broker, by the way. So it's not something I would be willing to support as I would never suggest that anyone use it for anything.




--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-dis...@googlegroups.com.
To post to this group, send email to masstrans...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/masstransit-discuss/0cc4acf6-4fb4-4628-9f21-f81a6a459c7c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Travis Smith

unread,
May 12, 2014, 1:41:10 PM5/12/14
to masstrans...@googlegroups.com
I have a horrible opinion of SQL Service Broker, by the way. So it's not something I would be willing to support as I would never suggest that anyone use it for anything.

I second Chris' feelings on this topic. If you're stuck with MS technologies, MSMQ is on the Windows install disc. Most monitoring tools can monitor MSMQ out of the box. You can enroll in transactions via MS DTC (but please don't, it's can cause a mess). SQL Server Service Broker will be a significant investment for a sub-par experience. But this is just my opinion and I don't have your constants. 

3. There are unit tests around the transports that I would consider trying to work up from there implementing them. Before that, figure out how you can send/receive messages and think about how you might manage pub/sub information. 
4. Wrap the actual serialized message in another object that contains the headers+message in the body of whatever you publish. You'll want the headers for a few things if you want to support everything the other transports support.

-Travis

Udi Dahan

unread,
May 12, 2014, 1:53:27 PM5/12/14
to masstrans...@googlegroups.com

Travis,

 

I’d suggest explaining what additional code a developer would have to write and/or how they should go about changing their message handling code before recommending that they don’t make use of distributed transactions.

 

I blogged about some of these issues in the past:

 

http://www.udidahan.com/2012/12/31/life-without-distributed-transactions/

 

Thanks,

 

Udi

--

You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-dis...@googlegroups.com.
To post to this group, send email to masstrans...@googlegroups.com.

Jeffrey Becker

unread,
May 14, 2014, 10:55:40 AM5/14/14
to masstrans...@googlegroups.com
Thankfully, I was able to talk people off the Sql Server Service Broker ledge and into RabbitMQ.  Our primary use-case would be a multicast notification to several sagas and I explained the hacks I was going to have to employ and the elevate DB permissions required to write multicast.


On Monday, May 12, 2014 1:53:27 PM UTC-4, Udi Dahan wrote:

Travis,

 

I’d suggest explaining what additional code a developer would have to write and/or how they should go about changing their message handling code before recommending that they don’t make use of distributed transactions.

 

I blogged about some of these issues in the past:

 

http://www.udidahan.com/2012/12/31/life-without-distributed-transactions/

 

Thanks,

 

Udi

 

 

From: masstrans...@googlegroups.com [mailto:masstrans...@googlegroups.com] On Behalf Of Travis Smith
Sent: Monday, May 12, 2014 1:41 PM
To: masstrans...@googlegroups.com
Subject: Re: [masstransit-discuss] SQL Server Service Broker as a transport?

 

I have a horrible opinion of SQL Service Broker, by the way. So it's not something I would be willing to support as I would never suggest that anyone use it for anything.

 

I second Chris' feelings on this topic. If you're stuck with MS technologies, MSMQ is on the Windows install disc. Most monitoring tools can monitor MSMQ out of the box. You can enroll in transactions via MS DTC (but please don't, it's can cause a mess). SQL Server Service Broker will be a significant investment for a sub-par experience. But this is just my opinion and I don't have your constants. 

 

3. There are unit tests around the transports that I would consider trying to work up from there implementing them. Before that, figure out how you can send/receive messages and think about how you might manage pub/sub information. 

4. Wrap the actual serialized message in another object that contains the headers+message in the body of whatever you publish. You'll want the headers for a few things if you want to support everything the other transports support.

 

-Travis

--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.

To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-discuss+unsub...@googlegroups.com.

Travis Smith

unread,
May 18, 2014, 10:34:06 PM5/18/14
to masstrans...@googlegroups.com
Udi, 

I think I should have a blog post to point people to when they are considering distributed transactions. You bring up a good point, and I rarely feel like typing out all that information since I still answer half these emails from my phone. It's going on my list. 

-Travis


Reply all
Reply to author
Forward
0 new messages