2018年 Java 手軽にマイクロサービスを作れるお勧めライブラリ
概要
Java
でマイクロサービスを実装する際に利用するお勧めのライブラリを紹介したいと思います。
今回は以下の3点を前提条件としてライブラリを選択しました。
-
HTTP
で送受信するRESTful API
のマイクロサービスを対象とする - 導入コストや学習コストを抑えるため、手軽に使えるシンプルなライブラリとする(フルスタックは対象外)
- デファクトスタンダードや利用実績の多いライブラリとする
Spark Framework
Gson / Jackson
マイクロサービスでは複数のサービスと連携して動作するためメッセージのやり取りが発生します。その際に重要となるのがフォーマットの変換です。
Java
(オブジェクト)とJson
の変換が多いと思いますが、他のライブラリでも多々利用されている(サポートしている)のがGsonとJacksonの2つです。
どちらでもお好きな方をどうぞ。
ただし、スタックとして例えばあるライブラリがJackson
を利用している(依存関係にある)のに、Gson
を利用するのは同一の目的(フォーマット変換)のライブラリとして二種類が含まれることになるので好ましくありません。スタック全体として見るとこの場合はJackson
を選択すべきでしょう。
Bean Validation
専用のアノテーションを付与することで入力チェックを行うBean Validation (JSR-303)
が簡単です。
Bean Validation
は仕様のため、利用する際は実装ライブラリが必要になります。
実装ライブラリとしてhibernate-validatorが有名なので、これを利用することをお勧めします。
(注意)
Java EE
サーバで動作される場合、Bean Validation
の実装はサーバにもあるためhibernate-validator
を利用しない選択肢もあります。
今回は通常のJavaプロセスでも動作するマイクロサービスを考慮してhibernate-validator
を紹介しています。
(2018/6/10 追加)
Sql2o
Feign
Jedis
キャッシュとしてKVS(Key Value Store)
を利用する場合が増えてきたかと思います。
KVS
の中でもよく使われるのがRedis
で、そのJavaクライアントとして有名なものがJedisになります。
Paho
MQTT
のクライアントとしてはPahoが有名です。
Java、.net(C#、VB.net)、Python
等々の様々なプログラム言語用のライブラリを提供しています。
(私はJava
以外のプログラム言語でも、MQTT
を利用する場合はPaho
を利用しています)
Author And Source
この問題について(2018年 Java 手軽にマイクロサービスを作れるお勧めライブラリ), 我々は、より多くの情報をここで見つけました https://qiita.com/5zm/items/7290849ba59a5f2e84e1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .