4 ms·
Interesting. That's the same path the article goes down. That is: "Pulsar uses two individual tasks to complete the message-sending process - one for sending
by tyingq 4y ago
Interesting. That's the same path the article goes down. That is:
"Pulsar uses two individual tasks to complete the message-sending process - one for sending the message and the other for the ACK. For each message sent by the consumer, Pulsar generates these two tasks and pushes them to OrderedExecutor. To guarantee the order of messages, Pulsar always adds them to the same thread...As shown in Figure 12, Pulsar generates 200K tasks, all of which are inserted into a single thread."
It does, at the beginning, talk about other ways to address this, like "shadow topics". But it goes on to solve it instead with a combination of virtual cursors, and this:
"Therefore, to solve this problem, we used a random thread for ACK tasks instead of the same thread."