Stateful Microservices With Apache Ignite

Stateful microservices are not a new concept. They have their pros and cons and can shine in highly loaded systems. There are examples of using stateful microservices with Apache Cassandra on board. In this article, I will describe how you can combine this approach with Apache Ignite.

Stateless Architecture

The traditional microservices architecture is stateless. In this case, the database cluster is deployed away from the application instances, as is the distributed cache. In case of increased load, each of these elements is scaled independently.

Spring @Transactional Mistakes Everyone Makes

Probably one of the most used Spring annotations is @Transactional. Despite its popularity, it is sometimes misused, resulting in something that is not what the software engineer intended.

In this article, I have collected the problems that I have personally encountered in projects. I hope this list will help you better understand transactions and help fix a couple of your issues.

Think Twice Whether You Need Hibernate

I often saw how people included hibernating into a project, not really thinking about whether they really needed it. And after some time, when the service grew, they began to wonder if this was a mistake.

Let’s try to think ahead of what the general pros and cons of Hibernate are so that we can better determine the next time whether we need to add this dependency in a new microservice. Perhaps it makes sense to get by with simple Spring JDBC, without all that JPA complexity?