community-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "yukon (JIRA)" <>
Subject [jira] [Closed] (COMDEV-251) Support Distributed Transactional Messaging
Date Tue, 23 Jan 2018 02:40:00 GMT


yukon closed COMDEV-251.
    Resolution: Duplicate

> Support Distributed Transactional Messaging
> -------------------------------------------
>                 Key: COMDEV-251
>                 URL:
>             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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message