The WebClient is part of the Spring WebFlux library. It's a non-blocking solution provided by the Spring Reactive Framework to address the performance bottlenecks of synchronous implementations like Feign clients.
While the Feign client creates a thread for each request and blocks it until it receives a response, the WebClient executes the HTTP request and adds a “waiting for response” task into a queue. Later, the “waiting for response” task is executed from the queue after the response is received, finally delivering the response to the subscriber function.
The Reactive framework implements an event-driven architecture powered by Reactive Streams API. And as we can see, this enables us to write services that perform HTTP requests with a minimal number of blocking threads.
https://www.baeldung.com/spring-boot-feignclient-vs-webclient