Je voudrais présenter une bibliothèque recommandée à utiliser lors de l'implémentation de microservices avec Java
.
Cette fois, j'ai choisi la bibliothèque sur la base des trois points suivants.
API RESTful
qui envoient et reçoivent via HTTP
Spark Framework
Gson / Jackson
Étant donné que le micro-service fonctionne en coopération avec plusieurs services, les messages sont échangés. Dans ce cas, la conversion du format est importante.
Je pense qu'il existe de nombreuses conversions entre Java
(objet) et Json
, mais Gson est souvent utilisé (pris en charge) dans d'autres bibliothèques. gson) et Jackson.
Celui que vous aimez, s'il vous plaît.
Cependant, par exemple, une certaine bibliothèque utilise Jackson
comme pile (elle a une dépendance), mais l'utilisation de Gson
inclut deux types de bibliothèques dans le même but (conversion de format). Ce n'est pas préférable car cela le devient. En regardant la pile entière, vous devez sélectionner «Jackson» dans ce cas.
Bean Validation
Bean Validation (JSR-303)
, qui vérifie l'entrée en ajoutant une annotation dédiée, est facile.
Puisque Bean Validation
est une spécification, une bibliothèque d'implémentation est nécessaire pour l'utiliser.
Hibernate-validator est une bibliothèque d'implémentation bien connue, nous vous recommandons donc de l'utiliser.
**(Mise en garde)
Lors de l'exécution sur un serveur Java EE
, vous avez la possibilité de ne pas utiliser hibernate-validator
car l'implémentation de Bean Validation
est également sur le serveur.
Cette fois, nous introduisons hibernate-validator
en tenant compte des microservices qui peuvent être exploités même dans des processus Java normaux. ** **
(Ajouté le 6/10/2018)
Sql2o
Feign
Jedis
Je pense que le nombre de cas où «KVS (Key Value Store)» est utilisé comme cache a augmenté.
Le plus couramment utilisé de KVS
est Redis
, et le célèbre client Java est Jedis.
Paho
Paho est un client bien connu de MQTT
.
Nous fournissons des bibliothèques pour divers langages de programmation tels que Java, .net (C #, VB.net), Python
, etc.
(J'utilise également Paho
lorsque j'utilise MQTT
dans des langages de programmation autres que Java
)
Recommended Posts