社会人×学生技術バトルNightで発表しました~Node.js例外処理の課題感とErlangの可能性
@mookjp
インフラソリューショングループ/APソリューショングループの@mookjpです。
6/23に、dots.学生部さんの主催する「社会人×学生技術バトルNight」というテーマのLTイベントに参加してきました。
参加者は主に学生の方々で、社会人登壇者は企業でどんな技術を使っているのか、学生登壇者は学校で取り組んでいる研究の話や個人プロジェクトについて発表しました。
私は普段、Node.jsを使用してリクルートグループ全社で利用されるプッシュ配信基盤アプリケーションの開発をしています。そこで、イベントではNode.jsアプリケーションの開発と運用の経験から得た課題感と、その課題感から興味を持ち始めたErlangについてお話ししました。
Node.jsはシングルプロセス・シングルスレッドで稼働し、イベントループモデルを採用しています。そのため、ある処理中にプログラマーが想定していない例外がthrowされると、それがトップレベルまで到達してしまい、Node.jsのプロセス自体が落ちてしまうことがあります。また、このような例外が発生した場合もイベントで検知することはできますが、言語の性質上安全に回復できる保証はありません。(資料を参照してください)
こういったところから、
- 並行処理
- エラー処理と回復
をうまく扱えるような手段はないだろうかと調べており、Erlangという選択肢が出てきました。
現在はまだErlangでのアプリケーション開発も始まったばかりで、本番運用の知見をお話しできたわけではなかったのですが、今後運用に乗ればこのブログなどで知見を共有していきたいと考えています。
LTのあとには親睦会もあり、参加者の社会人・学生の方々と発表内容や普段の業務、個人プロジェクトで使っている技術についてもお話ししました。
参加者のなかには高校生もいらっしゃり、勉強熱心な学生に刺激され、よりいっそう技術力の向上に励みたいと思いました。