A quick look at two Microservice Frameworks for Java.
Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services. dropwizard.io
I became aware of Dropwizard as an engineer at Groupon, where it is used heavily as the basis for the official method of developing Java microservices. I know from a previous colleague it was used at HubSpot as well. Perhaps at other startups that started as a Rails monolithic app, reached a certain scale, and were broken up into microservices. The Ruby-to-Java history is discussed here 2 with the Coda Hale and Yammer background. This slide 3 shows roughly equivalent Rails and Dropwizard functionality for those coming from Rails.
I made a Hello World Dropwizard App to get a sense for developing with it, and deployed it to Heroku. I found Dropwizard to be ok to use, maybe not sparking the “Joy” of Sinatra and Ruby, but relatively lightweight for Java, and with very fast performance.
Javalin is described as:
A simple web framework for Java and Kotlin
I found it easy to use, and having even less code and setup compared with Dropwizard. For a very small API, if I was using Java, I’d consider implementing it with Javalin. If I was starting from scratch, I’d probably choose Kotlin over Java as well!
There are loads more Java microservice frameworks out there. What is your favorite one and why?