Collega Vishvesh implementeert Spring WebFlux voor een klant
Gepubliceerd: Auteur: Team Communication Categorie: NieuwsblogSpring WebFlux is een framework dat een applicatie een betere performance geeft. Maar er zijn meer voordelen. Software Developer Vishvesh Gowrising heeft de ins en outs van dit framework onderzocht én het geïmplementeerd bij een klant. Hij was positief verrast door het eindresultaat. In deze blog deelt hij zijn bevindingen.
Het verzoek van de klant was duidelijk: communicatie tussen twee REST-API servers zonder dat andere functionaliteiten worden geblokkeerd. Vishvesh Gowrising startte meteen met zijn onderzoek en ging op zoek naar een framework dat deze wensen zou vervullen.
Vishvesh: “Voorheen was Spring RestTemplate de manier om API requests te maken naar andere servers, maar dit framework is inmiddels verouderd. Ik vond Spring WebClient als vervanging. Na verder onderzoek ontdekte ik de vele voordelen van Spring WebClient. Bijvoorbeeld: RestTemplate maakt een blocking request aan een webservice, terwijl WebClient een non-blocking request maakt!”
Vele mogelijkheden
Nadat hij het juiste framework had gevonden, wilde Vishvesh alle mogelijkheden van Spring WebFlux verkennen. Wat bleek? WebFlux kan precies wat de klant nodig heeft. Vishvesh legt uit: “Met Spring WebFlux kan ik gemakkelijk non-blocking webservices implementeren. Want dit framework is speciaal ontworpen voor een non-blocking webstack. Het kan gelijktijdige requests aan met een klein aantal threads en het is makkelijk schaalbaar. Om dit te verwezenlijken gebruikt WebFlux reactieve programmeertechnieken in samenwerking met zijn asynchrone paradigma.”
Maar dat is niet alles. “Het ondersteunt ook uni- en bidirectionele communicatie met andere REST-API servers. En dat is precies waar de klant om vraagt,” zegt Vishvesh.
Ingebouwde back pressure
Vishvesh was positief verrast toen hij leerde dat het framework ook ingebouwde back pressure support heeft. Een nuttige functionaliteit. Vishvesh legt uit: “Ingebouwde back pressure behandelt datastromen die anders te groot zouden zijn voor de subscriber/requester om te verwerken. Hoe dit werkt? De ingebouwde pressure biedt bescherming tegen de overvloedige data en zendt deze vervolgens naar de subscriber/requester. Mits deze de middelen heeft om dit te verwerken natuurlijk.”
Het framework implementeren
Toen de oplossing was gevonden, ging Vishvesh aan de slag met de implementatie. Vishvesh: “De klant wilde communicatie tussen twee REST-API servers die geen andere functionaliteiten zou blokkeren. Daarom is het belangrijk dat de communicatie geen zware last voor de servers zou zijn. Ook moet het framework callback functies leveren als een request wel of niet succesvol is. Deze voorwaarden nam ik mee in de implementatie.”
Een succesvolle oplossing
Inmiddels is Spring WebFlux succesvol geïmplementeerd. Vishvesh: “De klant was tevreden met de oplossing. Ze zijn geïnteresseerd in verdere uitbreiding van de communicatie tussen de servers. Er is intussen een ander project van dezelfde klant van start gegaan waarin WebFlux in grote mate gebruikt is om te communiceren met externe systemen. Dit project zal binnenkort ook live gaan."
Een aanrader
Vishvesh is zeer positief over Spring WebFlux. Hij vertelt: “Het framework is perfect voor developers die servers met weinig middelen hebben. Of hun webapplicaties efficiënter willen maken. Het is makkelijk te implementeren en heeft erg nuttige functionaliteiten.”
Meer weten?
Bent u benieuwd naar wat Spring WebFlux voor uw bedrijf kan betekenen? Of wilt u meer weten over onze op maat gemaakte oplossingen? U kunt contact opnemen via info_caribbean@qualogy.com.