モジュラモノリスの実現方法
ほぼ創業時から副業で手伝っているAlp社の同僚がモジュラモノリスの実現方法をScalaMatsuri2020で発表したので気になる方はどうぞ。
横の境界だけきった状態から、途中でモジュラモノリスに舵を切ったのでDB分割はこれからですが、それ以外の部分はキレイに分離できています。
自分がモジュラモノリスに重要だと考えているのは以下の2点です。
- いかに少ない手数でマイクロサービス化できるか
- マイクロサービス化した場合と同じ制約をコードに持たせられるか
- パッケージで制限するのは少し制約として弱いと思っている。
この方法は、アプリ側は内部通信用adapterを叩くclientのDIを差し替えるだけでマイクロサービスとして切り出せるし、境界外のコードは参照すらできないようになってるのでマイクロサービスと全く同じ制約をもたせられている。とても良い感じに実現できた👍