You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2018/09/27 03:56:33 UTC

[GitHub] kuangye098 opened a new issue #2664: Support for Transactional Message

kuangye098 opened a new issue #2664: Support for Transactional Message
URL: https://github.com/apache/pulsar/issues/2664
 
 
   Transactional message can be thought of as a two-phase commit message implementation to ensure eventual consistency in distributed system. it ensures that the execution of local transaction and the sending of message can be performed atomically.
   1. The producer pulls the pre-processing transaction message. At this point, the broker will set the status of this message to unknown.
   2. After the local transaction is successfully executed, the commit message is sent, otherwise the rollback message is sent.
   3. The broker receives the message. If it is a commit message, it modifies the transaction status to commit, and then sends an actual message to the consumer queue. At this time, the consumer can consume the message. Otherwise, the transaction status is modified to rollback. The message will be discarded.
   4. If at step 2, the producer is down or abnormal, at this time, the broker will periodically ask the specific producer, the status of the message, and update the status according to the producer's response, and process it according to step 3. The action that comes down.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services