Developers Summit 2019「Spring Bootでマイクロサービス作って苦労したお話」 の補足


はじめに

今回 Developers Summit 2019で下記内容を登壇させて頂きました。

SpringBootでマイクロサービス作って苦労した話〜

思ったより・・・資料が拡散した感があったので、資料では読み取れない部分を補足します。


資料


補足


背景:マイクロサービスアーキテクチャっぽいサービス開発

image.png


  • マイクロサービスアーキテクチャっぽい?


    • データストア、完全に分断してない。いくつかのサービスでCassandraのクラスタを共有していたりする。



  • サービスの粒度


    • 顧客管理、自社管理、売上管理と粒度は大きい(荒い)。




起動が遅い:Application Class-Data Sharing(JEP310)を導入する

image.png


  • fatJarにしない。fatJarにしちゃうと、Spring Bootの独自のクラスローダーで読み込まれるからあんまり効果無い。


  • fabric8jibだとどうやってApplication Class-Data Sharing有効化すればいいかわからなかった。なのでDockerのmulti-stage buildsで独自にビルド。


  • AdoptOpenJDKのイメージをベースに、独自でjlinkで小さくなったベースイメージを使ってる。

  • Application Class-Data Sharingは素敵。


テストが遅い

image.png


  • parentのpom.xmlの変更には気を付けろ!


反省:先に考えておくこと

image.png


  • Dynamic Configuration実現するためには、分散アーキテクチャだと多分使うのはSpring Cloud Config。

  • Kubernetesで動かすのであれば、Spring Cloud Kubernetes要チェック!configmapこんな感じで使いたかった!ってなる。


最後に

私は、日本語フォントだと、Noto Sans Mono CJK JPフォント愛用してます。

PDFに変換すると・・・ビットマップに変換されてしまい、コピペできなくなります。

なので、メイリオに一括変換してPDFにしているのですが、結果一部体裁が崩れている箇所があります。申し訳ございません…。

ご来場された方々、本当にありがとうございました。

また、Ask The Speakerで色々お声をかけて頂き、本当に嬉しかったです。