2018 Java Recommended library for easily creating microservices

Overview

I would like to introduce a recommended library to use when implementing microservices in Java. This time, I selected the library based on the following three points.

stackJava.jpg

Spark Framework

Gson / Jackson

Since microservices operate in cooperation with multiple services, messages are exchanged. In that case, format conversion is important. I think that there are many conversions between Java (object) and Json, but Gson is often used (supported) in other libraries. gson) and Jackson. Whichever you like, please. However, for example, a library uses Jackson as a stack (it has a dependency), but using Gson includes two types of libraries for the same purpose (format conversion). It is not preferable because it becomes. Looking at the stack as a whole, you should select Jackson in this case.

Bean Validation

Bean Validation (JSR-303) that checks the input by adding a special annotation is easy. Since Bean Validation is a specification, an implementation library is required to use it. Hibernate-validator is a well-known implementation library, so we recommend that you use it.

**(Caution) When running on a Java EE server, you have the option of not using hibernate-validator because the implementation of Bean Validation is also on the server. This time, we are introducing hibernate-validator in consideration of microservices that can be operated even in a normal Java process. ** **

(Added 6/10/2018)

Sql2o

Feign

Jedis

I think that the number of cases where KVS (Key Value Store) is used as a cache has increased. The most commonly used of KVS is Redis, and the famous Java client is Jedis.

Paho

Paho is a well-known client of MQTT. We provide libraries for various programming languages such as Java, .net (C #, VB.net), Python, etc. (I also use Paho when using MQTT in programming languages other than Java)

Recommended Posts

2018 Java Recommended library for easily creating microservices
2017 IDE for Java
Use Java external library for the time being
Java for statement
Dreaming of easily creating a Web API for the DB of an existing Java system
How to use Truth (assertion library for Java / Android)
Java coverage measurement library
[Java] for statement, while statement
JAVA object mapping library
[Java] Package for management
[Java] for statement / extended for statement
Countermeasures for Java OutOfMemoryError
NLP for Java (NLP4J) (2)
(Memo) Java for statement
NLP for Java (NLP4J) (1)
Java bidirectional map library
Java CSV library "opencsv"
Java tree structure library
Problems that can easily be mistaken for Java and JavaScript
Find a Java library for Bayesian networks that might work