Since reactive web added to spring, it will be great to see some feign client support as well.
https://spring.io/blog/2016/11/28/going-reactive-with-spring-data
https://github.com/OpenFeign/feign/issues/361
https://github.com/OpenFeign/feign-vertx
https://github.com/OpenFeign/feign/pull/307
Part of the problem is feign itself. It can do asynchronous, but non-blocking is another story. @adriancole correct me if I'm wrong.
@hosuaby lazy code search... does feign-vertx rewire itself in such a way that non-blocking I/O is possible?
Feign-vertx is totally non blocking.
All synchronous parts of feign was rewrited to support asynchronous HTTP client
@hosuaby sweet
So is this still open or closed? If it is closed an example how to use this will be helpful because spring 5.0 is already released. Spring boot 2.0 will be released in a couple of months.
Status is open, right? I doubt anything will be done by us for 2.0.0
@spencergibb what is the best way to get this https://github.com/kptfh/feign-reactive integrated into spring cloud?
PS: There is ribbon integration required and spring retry for retry policies.
It's a good start, but it still uses blocking serialization and logging.
ok, so non blocking serialization and logging. Should ribbon/spring-retry be in place as well?
If we want parity, which I think we do, then yes
@vasilievip Just added support of Ribbon load balancing for this reactive feign client
https://github.com/kptfh/feign-reactive
Plan to add hystrix support in nearest future.
@kptfh
It's a good start, but it still uses blocking serialization and logging.
It will block in a webflux application.
@spencergibb You comment is not clear to me. Can you give more details?
Sorry, I'm probably in error.
Closing this issue in favor or https://github.com/spring-cloud/spring-cloud-openfeign/issues/4 where we should be tracking all feign issues going forward.
Most helpful comment
All synchronous parts of feign was rewrited to support asynchronous HTTP client