[
https://issues.apache.org/jira/browse/COMDEV-251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
yukon updated COMDEV-251:
-------------------------
Summary: Support Distributed Transactional Messaging (was: [RocketMQ]
Support Distributed Transactional Messaging)
> Support Distributed Transactional Messaging
> -------------------------------------------
>
> Key: COMDEV-251
> URL: https://issues.apache.org/jira/browse/COMDEV-251
> Project: Community Development
> Issue Type: Improvement
> Components: GSoC/Mentoring ideas
> Reporter: yukon
> Priority: Major
>
> In most businesses, transactional messaging is frequently used to make a
> series of operations as an atomic transaction.
> At present, RocketMQ doesn't support transactional messaging, there is a
> potential need for a database implementation to solve the implement
> transaction mechanism. But a database system heavyweight and can't meet the
> high-performance demand.
> In messaging domain, there is a simpler and more efficient distributed
> transaction solution than 2PC/XA/3PC protocols:
> Implement a TransactionProducer and LocalTransactionChecker, guarantee
> message delivery and local transaction operations are atomic.
> The following is the simple transactional messaging flow:
> 1. TransactionProducer sends a half message to the broker. A half message
> means it's not confirmed and can't be delivered to the consumer.
> 2. TransactionProducer executes the specific local transaction.
> 3. Commit or Rollback the half message according to the status of the local
> transaction. A half message will be deleted if it's rollbacked and delivered
> to the consumer if it's committed.
>
> The above solution is for reference only, a better solution is welcome.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]