[ 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: dev-unsubscr...@community.apache.org For additional commands, e-mail: dev-h...@community.apache.org