We believe in Trust, Quality, Responsblility and Teamwork

Java & Spring for modern containerized microservices in the backend

5 min read

If you start to think about building modern middleware there are a lot of decisions that you need to take from the first moment. Starting from the architecture if you feel that you need to go with microservices to be ready for containerization / clouds / horizontal scaling then you immediately wonder how to organize communication or manage transactions in such distributed environment or what kind of API expose (Restful / GraphQL / gRPC) and how to protect it. The next important decision is a technology stack to use which will allow you to focus maximally on the business domain and not on implementing repetitive elements required from modern platforms.

In TWG we like to build backends based on Java & Spring with Full Reactive Stack including:

  • Web reactive – Spring WebFlux

(https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html)

  • MongoDB reactive driver

(https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mongo.reactive)

  • Reactor

(https://projectreactor.io/)

called by many as “Java on steroids’“.

Additional in such distributed setup we are usually introducing:

Consumed by:

Pros:

  • Production-grade, scalable and reliable distributed platforms build in a very fast way
  • Happy developers doing great things 🙂

Cons:

  • Complicated ecosystem

Statement:

  • Have you already practiced a similar approach?