Reaktywne programowanie od jakiegoś czasu jest często poruszanym tematem tak też, aby namacalnie poczuć różnicę w wydajności reaktywnego/blokującego stacku zrobiłem dla Ciebie ten mały projekt. Na początek powiemy sobie co jest zrobione oraz pokażę Ci drobne różnice implementacyjne w trzech aplikacjach jakie tu znajdziesz.
Co mamy?
product-store - reaktywna aplikacja (WebFlux), która zwraca nam produkty. Z ustawionym opóźnieniem 100ms.
spring-boot-web - blokująca aplikacja wraz z RestTemplate gdzie tworzymy zapytanie do product-store.
spring-boot-webflux - tak samo tylko reaktywnie. Korzystamy z WebClienta (czyli reaktywnego zamiennika na RestTemplate).
Kotlin + Gradle + Gatling (testy wydajnościowe - Scala)
Projekt znajdziesz