MicroProfileのサンプルリニューアル – 今度はほんとにMSA

| 2 min read
Author: toshio-ogiwara toshio-ogiwaraの画像

MicroProfileを使ったサンプルアプリとして「使った、作った、Helidonで! - サンプルアプリの紹介」記事で紹介したレンタル品予約システムはマイクロサービスアーキテクチャ(MSA)向けフレームワークであるMicroProfileを使ったサンプルアプリとして紹介していましたが、そのアーキテクチャは実はモノリス(良くいってモジュラーモノリス)でした。

この点が(本人以外は誰も気にしていないとはいえ)筆者としては少し心残りだったため「逆張りのMicroProfile」の連載が一段落したのを機会にサービスを分割し、次に示すマイクロサービスなアプリに一新しました。(MicroProfileとは関係ないですがフロントエンドにはReact+MUI(Material UI)をそこそこ本格的に使っています)

overview

このアプリはデモサイトで実際に動かして使えるようにしているので、試したい方はこちらのリンクからどうぞ。

デモサイトはアプリの他にMP OpenAPIで生成されたOAS(OpenAPI Specification)情報をビジュアルに確認できるHelidon独自機能のOpenAPI UIJaegerを使った分散トレースといったMSAでよく使うツールも一緒に動かして見られるようにしています。是非、いろいろ試していただければと思います。

構造はマイクロサービス、それお得ですか?

今回は既存アプリを分割してマイクロサービス化しているため、サービスが小さくなっていますが、実業務でこのような小粒度のサービスをマイクロサービス化することはお勧めしません。この場合、往々にしてマイクロサービスアーキテクチャによるメリットよりもデメリットの方が大きくなります。

また、今回は動くものだけではなくサンプルアプリのアーキテクチャやMicroProfileの利用機能などをこちらのGitHubのプロジェクトページでいろいろまとめています。特にMicroProfileを使った仕組みについては、それぞれの仕様ごとに次のような感じで

github-capure

「どこ」で「どのように」使っているかの説明に加えて、実際の該当コードの箇所や、デベロッパーサイトの関連記事も併せて紹介し、これまで紹介した「逆張りのMicroProfile」の総集編的な内容になっています。

この機会に動くコードと一緒に一読いただき、さらに理解を深めていただければと思います。

豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. 基本から理解するJWTとJWT認証の仕組み (2022-12-08)
  2. AWS認定資格を12個すべて取得したので勉強したことなどをまとめます (2022-12-12)
  3. Nuxt3入門(第4回) - Nuxtのルーティングを理解する (2022-10-09)
  4. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)
  5. Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する (2022-10-28)
  6. Jest再入門 - 関数・モジュールモック編 (2022-07-03)
  7. 自然言語処理初心者が「GPT2-japanese」で遊んでみた (2022-07-08)
  8. IoT を使ってみる(その6:MQTTブローカー Mosquitto編) (2022-10-08)
  9. Nuxt3入門(第3回) - ユニバーサルフェッチでデータを取得する (2022-10-06)
  10. 統計学で避けて通れない自由度の話 (2022-06-20)