Add a Redis binder implementation
Redis provides all message broker functionnalities (queue, topic, consumer groups, etc...), I was estonished to see that a great project like Spring Cloud Stream does not provide a default support. Its binder was deprecated in 2016 (https://github.com/spring-cloud/spring-cloud-stream-binder-redis) is it possible to reconsider that decision and provide a default implementation?
I'll be happy to contribute if needed with some helps.
Thanks
@akuma8 Thank you for showing an initiative on this. We've been talking about it internally but never really got around until pretty much now and your issue could not have been more on time. So, yes we are definitely interested in revisiting it. If you indeed want to contribute, then I'd suggest resurrecting https://github.com/spring-cloud/spring-cloud-stream-binder-redis and issuing PRs there and we can review/merge and get this going.
Please let us know
I think the plan is to implement Spring Integration Channel Adapters for Redis Streams first of all: https://github.com/spring-projects/spring-integration/issues/3226. With that on board I don't think that old Redis Binder code base would make sense, although we can keep the name and project location...
@akuma8 just to clarify, what Artem is saying the required changes may be significant enough to justify a separate repo but that's fine. The overall goal is to maintain the natural evolution and history of the project, so reusing the same repo is still better even if you end up completely throwing away the old code.
@olegz what would be the best approach for this?
Hi @lherrera-redislabs I think resurrecting this implementation based on current s-c-stream 3.1.x - https://github.com/spring-cloud/spring-cloud-stream-binder-redis would probably be the best approach.
We can certainly provide guidance and work with contributors.
We can also discuss the ownership pf the project and see if redislabs are interested to completely take over as some vendors do (e.g., Solace)
Redisson team is adding this feature. Just FYI.
https://github.com/redisson/redisson/issues/3759
@kitkars, @lherrera-redislabs We managed to add Redis Stream support in Spring Integration, see those commits : https://github.com/spring-projects/spring-integration/commits?author=akuma8 The remaining task will be to reuse what we did to add the binder.
I'm surprised that support for Redis hasn't been implemented until now.