I want to create a new project with Spring Cloud Gateway but I don't want all the reactive functionality. for me, it will be fine if the other microservice will be blocking I/O and not Reactive.
Spring cloud gateway is built on top of spring webflux and netty and this cannot be changed.
From The Spring Cloud Reference Docs:
Spring Cloud Gateway is built on Spring Boot 2.x, Spring WebFlux, and Project Reactor. As a consequence, many of the familiar synchronous libraries (Spring Data and Spring Security, for example) and patterns you know may not apply when you use Spring Cloud Gateway. If you are unfamiliar with these projects, we suggest you begin by reading their documentation to familiarize yourself with some of the new concepts before working with Spring Cloud Gateway.
Spring Cloud Gateway requires the Netty runtime provided by Spring Boot and Spring Webflux. It does not work in a traditional Servlet Container or when built as a WAR.
It is perfectly acceptable for a non-blocking IO application to make network calls to a blocking IO application. The non-blocking IO app will still have all of the benefits of having a non-blocking IO. It will not consume resources while waiting for responses from network calls to blocking IO applications and in theory should consume less resources and be able to handle more concurrent calls as a result.