yoskhdia’s diary

DDDとかプログラミングとかアーキテクチャとか雑多に

「Reactive Messaging Patternsに学ぶシステム間統合」というテーマで発表してきました

第5回Reactive System Meetup in 西新宿で登壇してきました*1

reactive-shinjuku.connpass.com

発表資料

docs.google.com

一部表現を変えつつ、補足をして発表資料を公開します*2トークスクリプトもつけてありますので併せてどうぞ。 明日から開催のScala Matsuri 2018の弾みになれば幸いです。

泣く泣くカットしたトランザクションの話は続きを読むからどうぞ↓

番外編)避けては通れないトランザクションの話

docs.google.com

トランザクションと一口にいっても、以下のようなものがあります。

  • 相手システムとの間(チャンネルの両端)で協調
  • 受けたメッセージに対して、いくつかのステップの処理を実行

メッセージング基盤としてのメッセージを確かに送受信できるようにすることに対するトランザクションと、ビジネスロジックとしていくつかの処理をパスしてOKとするトランザクションです。 他にもあるかもしれませんが、この内、後者について取り上げています。

実業務、ドメインを見れば、本当にまとめて処理しなきゃいけないものは、結構少ないはずです。 働く人たちは、どういう会話をしているのか、仕事の単位は何なのか、によってトランザクションを設計することが、メッセージングシステムを考えるうえで有用だと考えています。 というより、大きな単位なまま扱えるとも限らないので、ドメインイベントに着目することが必須になるのではないかなと思っています。

これは、メッセージングに限らず有用なアプローチだと思いますが、よりスケーラビリティのあるシステムを目指すときには、こういったことを考えてみてはいかがでしょう。

*1:発表時間1分超えた…

*2:だれか英訳手伝ってくれないかな…