Open tuan08 opened 9 years ago
A sample or performance requirement taken from the link https://cwiki.apache.org/confluence/display/KAFKA/Transactional+Messaging+in+Kafka#TransactionalMessaginginKafka-ProducerIDsandstategroups
Furthermore, we have the following requirements pertaining to performance, usability and implementation complexity: The implementation should be scalable. E.g., a dedicated log per transaction is unacceptable. Performance: The throughput of a transactional producer should be comparable to that of a non-transactional producer. Acceptable latency. E.g., avoid copying the transactional data as much as possible. Any implementation should not make the partition unavailable (say, due to locking) for an unreasonable period of time. Client simplicity: Favor a scheme that lend to a simpler client-side implementation (even if it adds more complexity to the broker). For example, it is acceptable (but not ideal) for a consumer implementation to (internally) buffer and subsequently discard messages from uncommitted transactions. i.e., if the chosen implementation allows the broker to materialize messages from uncommitted transactions in the data logs.
Reliability requirements
Performancel requirements: