I am trying to implement distributed transactions in my current application which are working fine currently with MSDTC, the only problem is that MSDTC is only supported in windows. The alternative suggested at many places was to ditch the DTC and implement message queue which will break the transaction in separate portions. But as my application is a heavy traffic, performance sensitive transaction application where a user requires instant response, will message queue be proper alternative? if not, what are the other way to achieve distributed transaction with full 2pc support?
Asked
Active
Viewed 1,060 times
0
-
just interested as I do not understand your settings - you plan to use a queue to spit a transaction to two parts? but then why you need 2PC on top of that when the whole transaction is already split? – chalda Nov 11 '16 at 12:17
-
I do not plan to use queues if 2pc can be implemented without MSDTC or if there is another alternative to 2pc for distributed transactions? how generally distributed transactions are done for large system keeping performance and platform independence in mind? – Vimalshah26 Nov 16 '16 at 05:13
-
I think that's kind of impossible. Distributed transactions as model have a lot of advantages - easy to understand and work with, easy to design your app with it - but it's really hard (maybe rather impossible) to scale them. It really depends on your use case and your expectations. To the first part of your question - distributed transactions need a coordinator, in your case it's MSDTC. You can have platform independent one - as I advertised e.g. java based Narayana. If you ditch MSDTC then you are without 2PC and you need to design your app in different way (e.g. use queues to leverage). – chalda Nov 16 '16 at 09:23