Распределенная обработка: C++ эквивалент JTA

Я разрабатываю критически важное решение, в котором целостность данных имеет первостепенное значение, а производительность близка к секунде. Если данные переполнены, это будет катафорично.

Итак, я ищу CTA C++ версию JTA (Java Transaction API). Кто-нибудь знает какие-либо библиотеки C или C++, которые поддерживают распределенные транзакции? И да, я гуглил это... безуспешно.

Я не хотел бы, чтобы мне говорили, что его нет, и мне нужно реализовать протокол, указанный в Distributed TP: спецификация XA.

Пожалуйста помоги!


Редактировать (отвечает Кервину): если мне нужно вставить записи на несколько серверов баз данных, и мне нужно фиксировать их поочередно, такие продукты, как Oracle, найдут решения для этого. Если я написал свой собственный сервер очереди сообщений и хочу атомарно фиксировать сообщения на нескольких серверах, мне понадобится что-то вроде JTA, чтобы убедиться, что я не заполняю атомарность транзакции.

3 ответа

Энсина, DCE-RPC, TUXEDO, возможно CORBA (хотя я не решаюсь предложить использовать CORBA), MTS (опять же, хм).

Это те вещи, которые вы хотите для распределенной обработки транзакций.

У Энсины было много хорошей документации для ее системы на основе DCE.

Есть сотни. Шутки в сторону.

Насколько общие области идут. Проверьте сервис-ориентированную архитектуру, большинство новых продуктов выходят в этой области. Например. RogueWave HydraSCA

Я бы начал с простого Rogue Wave Suite, а затем посмотрел, нужна ли мне Enterprise Service Bus после просмотра этого дизайна.

Это, вероятно, во многом зависит от ваших требований к дизайну и бюджета.

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

Для получения дополнительной информации: http://www.oracle.com/tuxedo

Кроме того, если вам нравится SCA (Service Component Architecture), есть дополнительный продукт для Tuxedo под названием SALT, который предоставляет контейнер SCA для программирования на C++, Python, Ruby и PHP.

Другие вопросы по тегам