Wildfly XA-Datasource — кластер galera

Я разрабатываю приложение, использующее jta-транзакцию (JAVA TRANSACTION API) и использующее несколько ресурсов (баз данных). Итак, я установил xa-datasources в своей среде wildfly.

Проблема в том, что мне нужна кластерная база данных (например: Mariadb + galera, mysql+ mysqlcluster).

Есть ли у вас среда кластера базы данных, которую можно порекомендовать и которая работает с xa-транзакцией?


person Jimmy Pannier    schedule 26.10.2015    source источник
comment
Не могли бы вы начать с переписывания вопроса, чтобы он был более понятным. Что не так с поддержкой mysql xa?   -  person eis    schedule 26.10.2015
comment
потому что xa-транзакции работают только с механизмом хранения INNODB, а mysqlcluster использует механизм NDBCluster.   -  person Jimmy Pannier    schedule 26.10.2015
comment
Кажется, что для такой среды не существует существующего решения. Я объединяю источники данных в один источник данных. так что больше нет ха-транзакций.   -  person Jimmy Pannier    schedule 27.10.2015
comment
Вы хотите сказать, что нет кластеризации БД, которая поддерживала бы транзакции XA?   -  person eis    schedule 27.10.2015
comment
после поиска в Google я не нашел никакого решения для кластеризации баз данных, которое поддерживает транзакцию xa и использует бесплатную базу данных/общую базу данных (mysql или mariadb).   -  person Jimmy Pannier    schedule 27.10.2015


Ответы (1)


(На мой взгляд...) Кластеризация (либо Galera, либо NDB) и XA наступают друг на друга, потому что...

Кластеризация сама по себе является формой XA. Она должна координировать действия между несколькими машинами и делает это с помощью некоторого кода мини-XA. Это не оставляет места для вашего XA, чтобы сделать то же самое на более высоком уровне.

Какого черта вы хотите XA поверх кластеризации?

person Rick James    schedule 03.11.2015
comment
бывают случаи, когда XA необходим поверх кластеризации. Вот один пример, с которым мы столкнулись в нашем проекте, когда решили использовать кластер Galera. Мы используем Apache Lucene для индексации некоторых документов. Это требует XA, чтобы синхронизировать Lucene и базу данных. Индексы Lucene хранятся в некоторых файлах на диске. Любые изменения в таком документе должны быть либо зафиксированы как в базе данных, так и в файлах Lucene, либо отменены в обоих случаях. Для этого требуется XA. - person Ciprian Stoica; 21.11.2015
comment
@CiprianStoica - если такие откаты случаются редко, я бы предпочел не выполнять откат, а вместо этого пометить документ как «удаленный». Затем вы, вероятно, могли бы организовать индексацию и т. Д. В порядке, в котором не требуется XA. - person Rick James; 26.11.2015