Whether MT is right for me (or should I roll out my own SB instead)

26 views
Skip to first unread message

Vladimir Okhotnikov

unread,
Sep 1, 2010, 10:15:44 AM9/1/10
to masstransit-discuss
Hi all

I'm new to this list and I absolutely must start with saying that you
guys did very impressive work on MassTransit.

Due to the fact that I'm only started looking deeper into the MT design
and samples however, I have a few questions on whether it suits my
particular requirements, and I hope you can share some insight on that.
The requirements in question are as follows:

- we have a number of applications which are to integrate via messaging.
The primary application environment is .NET 3.5/C#, with Castle stack,
but some applications are in Java or even PHP
- we have decided, for various reasons, to use ActiveMQ as messaging
infrastructure. It seems that of the available service bus
implementations in .NET space only MassTransit supports ActiveMQ out of
the box
- we have decided on a wrapper API which developers would use to work
with messaging in their code (the primary purpose is to remove as much
friction as possible for developers, but that's not the point - the
point is that a) we're going to write some adapter code anyway - whether
against MT or plain ActiveMQ client library and b) the API in question
uses both Pub/Sub and plain "send message to a queue" model.
- we are surely going to use more advanced concepts which MT already
implemented (or is in progress implementing) - sagas, correlation,
monitoring etc.

From the outward MT feature set the route to do a thin adapter layer on
top of MT seems to be a right decision. But, what bothers me is that, if
one looks into the overall design, it seems that MT does quite a lot to
overcome certain MSMQ shortcomings - e.g. the whole subscription service
thing is as far as I can see the same as topics provided by ActiveMQ out
of the box. In such cases, due to our multiplatform requirements I'd
certainly prefer ActiveMQ to handle that, rather than MT - because I
otherwise will have to reimplement MT solutions in Java/PHP . And I have
no idea, how hard it would be to replace current pub/sub mechanism with
the ActiveMQ topics implementation.

So, any advice at all will be highly appreciated.


Regards,
Vladimir Okhotnikov

Dru Sellers

unread,
Sep 1, 2010, 1:41:31 PM9/1/10
to masstrans...@googlegroups.com
re: a lot to overcome msmq

yup, we are now exploring RabbitMQ and we have seen just all that we have to do to overcome that. Its not going to be right away but we are looking and thinking alot about how we could better handle the situation with ActiveMQ and RabbitMQ and their structures. I am currently doing a PoC and will be reporting back once its better understood.

Other than that everything in your requirements looks good to me.

-d


--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-dis...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/masstransit-discuss?hl=en.


Kris

unread,
Sep 2, 2010, 8:26:00 PM9/2/10
to masstransit-discuss
In my opinion the most attractive thing about MassTransit's
implementation is the "Saga" StateMachine API, and being able to
correlate message events within the state machine, act on message
content and flow state transitions, then persist the state machine
instance and optionally load it up on another application instance,
memcached anyone? Combine this with TopShelf's "shelving" feature for
xcopy deployment and dynamic appdomain hosting, and holy shit this
could be an amazingly powerful deferred processing solution.

The only thing keeping me from using it is it's precarious
interdependency on MSMQ, and all the pain that implies. If we can get
an AMQP + RabbitMQ answer to this pain, MassTransit will be sitting on
the .Net service bus super-power throne.

Another pain point for me with MT, is the sheer number of external lib
dependencies it has, Magnum is just a beast (does way more than
MassTransit needs), and all the references to things like log4net,
structuremap, et.al., seems like external dependency overload, and
leads to way too many deployment assets. Maybe a "LiteTransit.dll"
with only the stuff it needs, all included.

For now I roll my own.
--

On a side note, I like using BSON to serialize my queue messages on
RabbitMQ, which enables me to create consumers/producers on other
platforms and languages, and it's a super fast format to parse up. If
MassTransit could offer this option, I'm sure it would garner much
appreciation from the heterogenous platform users, like me, out there.

-Kris

On Sep 1, 10:41 am, Dru Sellers <d...@drusellers.com> wrote:
> re: a lot to overcome msmq
>
> yup, we are now exploring RabbitMQ and we have seen just all that we have to
> do to overcome that. Its not going to be right away but we are looking and
> thinking alot about how we could better handle the situation with ActiveMQ
> and RabbitMQ and their structures. I am currently doing a PoC and will be
> reporting back once its better understood.
>
> Other than that everything in your requirements looks good to me.
>
> -d
>
> On Wed, Sep 1, 2010 at 9:15 AM, Vladimir Okhotnikov
> <vokhotni...@gmail.com>wrote:
> > masstransit-dis...@googlegroups.com<masstransit-discuss%2Bunsu bsc...@googlegroups.com>
> > .

Dru Sellers

unread,
Oct 28, 2010, 4:54:22 AM10/28/10
to masstrans...@googlegroups.com
Hi Kris,

we currently have ActiveMQ and RabbitMQ support. Although admittedly both of these are not as proven as the MSMQ transport.

Do you have a bson library you prefer?

-d

To unsubscribe from this group, send email to masstransit-dis...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages