2016-10-24 3 views
1

J'essaie d'avoir WebAPI 2.2 auto-hébergé sur un environnement Linux qui peut être fait avec Mono, le hic est que j'utilise la portée de transaction pour les transactions distribuées, est-ce (DTC) pris en charge sur les plates-formes non Windows? si non existe-t-il une solution de contournement ou une alternative pour implémenter 2pc sans DTC?TransactionScope avec Linux

Répondre

0

MSDTC est pris en charge sur les fenêtres uniquement. Une alternative à 2PC consiste à implémenter une transaction de file d'attente de messages. Avec cette approche, vous séparez la transaction et en avez une pour l'annulation du message et une autre pour le stockage durable, comme une base de données relationnelle ou une solution NoSQL (quelle qu'elle soit pour votre système). Avec cette approche, vous devez prendre en compte le message idempotency.

En savoir plus sur cette approche ici:

https://lostechies.com/jimmybogard/2013/05/09/ditching-two-phased-commits/

Et vous avez des options concernant ce que la technologie faire la queue message que vous souhaitez utiliser, comme RabbitMQ ou ZeroMQ.