Birisi, bir fazlı ve iki fazlı işlem arasındaki farkı açıklayabilir. Anladığı kadarıyla, tek aşamalı taahhüt uygulama sunucusu (Hizmet yöntemi -> EntityManager) sırasında taahhüdünü temsil eder ve XA işlemi, veritabanına (Service method -> EntityManager -> DB) kadar aynı işlemdir ve sırayla kullanılır. Genel işlemi doğru şekilde geri almak için Öyleyse neden XA sürücülerini varsayılan olarak kullanmıyoruz? Bu sadece performans endişesi mi? Lütfen yanılıyorsam beni düzeltin.Bir fazlı ve iki fazlı (XA) işlem arasındaki gerçek fark
cevap
Bu fark, tek fazlı bir işlemin genellikle tek bir sistemde veya veritabanında kullanılmasıdır; iki fazlı işlem ise birden çok DB'yi veya sistemi kapsayan dağıtılmış işlemler için kullanılır. Beni için size basit bir örnek göstereyim her
Tek fazlı işlemek
BEGIN
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00);
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Khilan', 25, 'Delhi', 1500.00);
COMMIT;
Bu PL/SQL yazılmış klasik atom işlem (Java EE dünya için de işlem olabilir EJB yöntemi hayal) 'dir Tüm eylemlerin gerçekleştirildiği ve işlemin ya da geri almanın yapıldığı tek bir aşama vardır.
İki fazlı Şimdi farklı makinelerde farklı sistemlerle ilgileniyor
//pseodocode
BEGIN
UPDATE db1; //updates DB on another machine
UPDATE someCloudStorage; //update something on the cloud
INSERT INTO SomeTable VALUES(...);
COMMIT;
işlemek ancak (o işlem dağıtılan bu yüzden) hepsine başarıyla yazmak veya başarısız olmasını istiyorum. Yani burada Two-phase commit protocol geliyor. Temel olarak işlem yöneticisi "taahhüt için hazırla" mesajını yayınlar ve her makineden Tamam yanıtını bekler. Herkes "tamam" diyorsa, her şey işlenir - eğer değilse, tüm işlemler geri alınır.
Java'da XA işlemlerini kullanmak istiyorsanız, XA desteğine (ve düzgün yapılandırılmış XA veri kaynağına) sahip bir JDBC sürücüsüne ihtiyacınız olacağını unutmayın.
- 1. XA veri kaynağını ve 2 fazlı işlemi ne zaman kullanabilirim
- 2. İki fazlı arama - açıklama gerekli
- 3. İki fazlı işlemler hangi sorunlara yol açabilir?
- 4. Akıllı göstergeler iki fazlı yapı ihtiyacını ortadan kaldırır mı?
- 5. İşlem ve TransactionScope Arasındaki Fark
- 6. Python Çoklu işlem: Harita ve imap arasındaki fark nedir?
- 7. Kaynak ağacında bir itme/çekme ve işlem arasındaki fark nedir?
- 8. İki alt işlem arasındaki Python boru çıkışı
- 9. tarihte iki sütun arasındaki fark
- 10. İki dizinin içeriği arasındaki fark
- 11. İki imha uygulamaları arasındaki fark?
- 12. Ui: decorate ve ui: include arasındaki gerçek kavramsal fark nedir?
- 13. Redis ve kafka arasındaki fark
- 14. activeProcessorCount ve processorCount arasındaki fark nedir?
- 15. XeLaTeX ve pdfLaTeX arasındaki fark
- 16. Spesifikasyon ve bir politika arasındaki fark nedir?
- 17. objectForKey ve valueForKey arasındaki fark?
- 18. ServiceProcessInstaller ve ServiceInstaller arasındaki fark
- 19. Dize [] ve [dize] arasındaki fark
- 20. string.h ve strings.h arasındaki fark
- 21. BFMatcher ve FlannBasedMatcher arasındaki fark
- 22. SQL Server 2005'te tran ile işlem arasındaki fark nedir?
- 23. arasındaki fark
- 24. arasındaki fark
- 25. "merhaba" ve {"merhaba"} arasındaki fark nedir? Aşağıdaki iki satır kodu arasındaki fark ne C'de
- 26. Bu iki prototipli kalıtım arasındaki fark nedir?
- 27. İki Liste arasındaki fark <FileInfo>
- 28. , bu iki notasyon arasındaki fark nedir?
- 29. typedef arasındaki fark ve tanımlamak
- 30. jsRender ve jsViews arasındaki fark
Çok iyi bir açıklama. Şimdi açık görünüyor! Teşekkürler! – sidlejinks
Bir şey değil, yardım ettiğine sevindim :-) –