モジュラモノリスの実現方法

ほぼ創業時から副業で手伝っているAlp社の同僚がモジュラモノリスの実現方法をScalaMatsuri2020で発表したので気になる方はどうぞ。

横の境界だけきった状態から、途中でモジュラモノリスに舵を切ったのでDB分割はこれからですが、それ以外の部分はキレイに分離できています。

自分がモジュラモノリスに重要だと考えているのは以下の2点です。

  • いかに少ない手数でマイクロサービス化できるか
  • マイクロサービス化した場合と同じ制約をコードに持たせられるか
    • パッケージで制限するのは少し制約として弱いと思っている。

この方法は、アプリ側は内部通信用adapterを叩くclientのDIを差し替えるだけでマイクロサービスとして切り出せるし、境界外のコードは参照すらできないようになってるのでマイクロサービスと全く同じ制約をもたせられている。とても良い感じに実現できた👍

ScalaMatsuri 2020 | アジア最大級の Scala のカンファレンス

speakerdeck.com