Capi(かぴ)
You_saku98
これまで私は同期的な処理の世界の中で生きてきて処理を実装していました。 Web APIのCRUD、 バッチ処理、 トランザクションの整合性... 「順番に動くこと」を前提に成り立っていました。トラフィックも少ないサービスが多かった気がします。
しかし最近、これまでより少し複雑で少しトラフィックの多いシステムを見ています。 また、仕事でイベント駆動を用いた設計や非同期処理に関わるようになりました。 「待たない」、「他のプロセスに任せる」、「同時に動く」という考え方にこれまでより多く直面するようになったのです。 そしてイベントの発火とリスナーの設計、Workerによる非同期実行、そして並行/並列の違いを勉強するようになりました。
同期的な世界に慣れきっていたエンジニアがイベント駆動や並行処理という“同期の外の世界”も学び始めた話です。参加者の皆さんから見るとつまらない内容だと思いますが、同期中心の設計から一歩踏み出してみた人の今の考えを聞いていただけたら嬉しいです。また、自分と同じ境遇の方やこれから同期以外の世界に行く予定のある方の背中をほんの少しだけ押すきっかけになる話ができればと思います。