Posts

Showing posts with the label asynchronous

Comparing the execution model of Spring Boot, Akka and NodeJs

Image
There are many technologies to choose from for implementing a backend service and it's not immediately obvious which to choose. This article will compare the execution model of a few popular technologies, which is one of the key points to consider. Note I chose a rather vague term "technologies" as each technology describe themselves differently, framework, toolkit, runtime etc. "technologies" felt apt. To illustrate the differences I have implemented the same simple service in each of the technologies under consideration. These are Spring Boot 1.5.x  [1] , NodeJs  [2] , Spring Boot 2.x  [3] and Akka  [4] .The service contains a single '/books' endpoint that retrieves data from a Mongo DB. Spring Boot 1.5.x Spring Boot 1.5.x has one-thread-per-client-request execution module, synchronous and blocking. The following sequences of steps occur when the service  [1]  receives a client request `curl -X GET http://localhost:8080/boo...