永和システムマネジメントで AP4R 勉強会
してきました。
永和さんのほか、NaCl、NRI の方もいて、だいたい 15人くらい参加者でした。予想以上に集まってもらえて嬉しい限りです。
#噂の和室も見せてもらいました♪
勉強会では、AP4R の動作の流れ(Rails からの メッセージのキューイングにはじまり、そのメッセージが AP4R の dispatcher スレッドによって HTTPリクエストされ、非同期の処理が Rails 上で処理されたのち、HTTP レスポンスが返るまで)の説明や、SAF機能(Rails の接続している業務テーブルのコミットとメッセージの永続化をアトミックにするための機能、Stored and Forward)について話してきました。ちょっと盛り込み過ぎで時間もぎりぎりになってしまいましたが、質問やコメントもたくさんもらえて非常に刺激的でした。ありがとうございます。
資料は、RubyForge に公開しています。
一部、まだ秘密の部分があるのでそこははしょらせてもらいましたが、前半のアイスブレイク部分なので本題とは関係ないとこです。
- AP4R technical note
http://rubyforge.org/docman/view.php/1765/942/study_session_at_esm.pdf
いろいろよいフィードバックをいただいたので、今後の機能拡張にいかしていきたいと思います。
- もっと直感的な API への変更
- 名前空間だとか、ブロックとれたりとか
- 非同期処理側の成功条件の見直し
- "true" をやめて乱数かメッセージID
- HTTPステータスをデフォルトにし、それ以上の条件はプラガブルに
- 宣言的な非同期化
- 以下みたいな感じになると嬉しいかも?
def HogeController async :account def order ... account(:id => @order.id) end ... end
- 非同期設計のノウハウ
- 設計パターン
- リカバリしやすい構成とか
- などなど...
裏タスクの角谷さんサインは無事にもらえました。
「全てのプログラマおよびマネージャは2つに分けられるらしい。角谷さんのサインをもらえる人とそうでない人に。」 (^^;