lhotari edited a comment on issue #10437:
URL: https://github.com/apache/pulsar/issues/10437#issuecomment-909270873


   > @lhotari
   > Thank a lot for the invite. Do you have smth production ready? And also is 
there any issues that I can help with& =)
   > I implemented reactive facade in out company, but it hardly can satisfy 
others
   
   I've been busy getting the adapter library into a state where it fulfils the 
promise made [in the conference talk 
abstract](https://springone.io/2021/sessions/reactive-applications-with-apache-pulsar-and-spring-boot).
 Conference Driven Development. The code is already available at 
https://github.com/lhotari/reactive-pulsar and 
https://github.com/lhotari/reactive-pulsar-showcase . The libraries [have also 
been published to maven 
central](https://search.maven.org/search?q=reactive-pulsar).
   
   I have put most of the effort in refactoring the interfaces and packaging so 
there's not many unit tests currently. However, since it's a thin layer over 
the Pulsar Client, I don't have huge concerns that there would be major issues 
in the solution. 
   
   Eventually I solved the producer backpressure with a custom 
["InflightLimiter" reactive 
operator](https://github.com/lhotari/reactive-pulsar/blob/master/reactive-pulsar-adapter/src/main/java/com/github/lhotari/reactive/pulsar/internal/adapter/InflightLimiter.java).
 It was the simplest approach for solving the producer backpressure in a 
reliable way. This works with the producer cache that is part of the solution. 
The limiter state is also shared via the cache and limits concurrent sending 
operations using the same cached producer.
   
   I haven't had the chance to properly organize the project yet. I'm planning 
to offer the project to be adopted by the Apache Pulsar project. I haven't yet 
checked what requirements there are for the IPRs and if accepting contributions 
make it harder to move it under Apache. I'd assume that it would be better to 
move it under Apache asap and then start accepting contributions.


-- 
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