wangjialing218 commented on issue #11962:
URL: https://github.com/apache/pulsar/issues/11962#issuecomment-915702801


   > @wangjialing218
   > 
   > > Just a idea. Current there is one ManagedLedger(ledger) associated with 
PersistentTopic. Could we add another ManagedLedger(kafkaLedger) associated 
with the topic.
   > 
   > We can't use multiple managed ledgers for a topic, this will break the 
FIFO semantics if you have Kafka producers and Pulsar producers publishing data 
to the topic and Kafka consumers, Pulsar consumers to consume the data from the 
topic.
   > And to read data repeatedly, we need to ensure the same reading order.
   
   @codelipenghui We could consider how to keep FIFO semantics when using 
multiple managed ledgers. For example, only one primary ledger is writeable 
(store original messages from producer), other ledgers are readable (store 
conversion  result for each message from primary ledger), and keep the message 
order same in all ledgers. consumer could select primary ledger or one readable 
ledger to consume messages.
   
   I have also considerd convert message at broker level from other motivation  
(not only for protocol handler). 
   Currently, if we want to do some customized message conversion before send 
messages to consumer, we could use pulsar funtion to consume messages from the 
original topic, do the conversion and publish result to another topic. This is 
a inefficiency way that would cost much more network and storage.
   And if the conversion is something like remove sensitive information from 
original message, which should not send to particular consumer, It's not 
suitable to do the conversion at cosumer side.
   
   The purpose of multiple managed ledgers for a topic is to do message 
conversion asynchronously. This will cost more storage but no need to sacrifice 
performance neither producer nor consumer side.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to