Modular Monolith事例
Modular Monolith事例を集める
2023
Timee
RailsでModular Monolithを選択された御社に質問したいN個の疑問
freeeの例
大きなプロダクトの育て方
深いドメインと統合型経営プラットフォームを支えるモジュラモノリスの事例
2023 モジュラモノリス徹底解剖〜実践者から学ぶLunch LT〜
モジュラモノリスにおけるトランザクション設計の考え方
モジュラモノリスのモジュール間通信の話
モジュラーモノリス化するリファクタリングに投資しています
ナレッジワークの例
Go
モジュール単位でディレクトリを分割し、モジュールが公開するAPIとモデル、モジュール内部のコードを切り分けている
モデルは実質DTO
code:text
tenantmodule/
tenantmodule.go
model/
internal/
infrastructure/
adapter/
usecase/
usermodule/
usermodule.go
model/
internal/
infrastructure/
adapter/
usecase/
knowledgemodule/
knowledgemodule.go
model/
internal/
infrastructure/
adapter/
usecase/
増えすぎたマイクロサービスをモジュラーモノリスに移行しているお話
サイバーエージェント
複数のサーバを1つのアプリにまとめた
既存のサービスごとにポートを開ける
同一アプリ(プロセス)内の呼び出しも関数呼び出しではなくWeb経由ぽい
スタディサプリ
https://speakerdeck.com/highwide/architectural-decision-records?slide=47
qmonolithがモジュラーモノリス?
モノリスなRailsにモジュラーモノリスを導入した話
hacomono社の例
スライド: https://speakerdeck.com/hacomono/hacomono-platform-engineering-showcase-number-2
Rails x モジュラーモノリス https://speakerdeck.com/hacomono/rails-x-moziyuramonorisu
Railsでpackwerk利用事例
独自の工夫として、packageの公開APIをgRPC protoとして定義
将来的なマイクロサービスの可能性を考慮
テーブルをまたいだ処理の検出はarproxyを用いて正規表現でチェック
本番では有効化していない
2025
モジュラーモノリス導入がもたらした功罪