-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Feign 11 Proposed Roadmap
Kevin Davis edited this page Aug 29, 2019
·
5 revisions
Making API clients easier
- Response Caching
- Support caching of api responses. Allow for user's to define under what conditions a response is eligible for caching and what type of caching mechanism should be used.
- Support in-memory caching and external cache implementations (EhCache, Google, Spring, etc...)
- Complete URI Template expression support
- Support level 1 through level 4 URI template expressions.
- Use URI Templates TCK to verify compliance.
-
Logger
API refactor- Refactor the
Logger
API to adhere closer to frameworks like SLF4J providing a common mental model for logging within Feign. This model will be used by Feign itself throughout and provide clearer direction on how theLogger
will be used.
- Refactor the
-
Retry
API refactor- Refactor the
Retry
API to support user-supplied conditions and better control over back-off policies.
- Refactor the
- Metric API
- Provide a first-class Metrics API that user's can tap into to gain insight into the request/response lifecycle. Possibly provide better OpenTracing support.
- Async execution support via
CompletableFuture
- Allow for
Future
chaining and executor management for the request/response lifecycle. Implementation will likely require non-backward-compatible breaking changes. However this feature is required before Reactive execution can be considered.
- Allow for
- Reactive execution support via Reactive Streams
- For JDK 9+, consider a native implementation that uses
java.util.concurrent.Flow
. - Support for Project Reactor and RxJava 2+ implementations on JDK 8.
- For JDK 9+, consider a native implementation that uses
- Additional Circuit Breaker Support.
- Support additional Circuit Breaker implementations like Resilience4J and Spring Circuit Breaker