YammerがNode.jsの運用で学んだこと
Node.jsのカンファレンス NodeConf 2011にて、YammerのリードエンジニアであるMatthew Eernisse氏がNode.jsの運用を通じて学んだことについての発表を行いました。発表のサマリーは5 Lessons Learned Running Node.js in Productionで読むことができます(スライドはまだ公開されていないようです)。
「コールバックを使ったスタイルのコードは、イテレーティブに開発をしやすいが、結果としてスパゲッティコードになりがち」という意見は他所でも見かけることがありますね。また、
- 物事は失敗すると仮定せよ
- コールバックは失敗すると仮定してデフォルトではエラーメッセージを出力するようにし、処理が上手くいった場合にエラーを取り消すようにする
- あとで原因を調査できるよう、すべてのエラーはログに記録しておくこと
- 可視性とメトリクス
- 初期段階から、あらゆるものを測定して記録するようにすべき
- Yammerではメトリクスライブラリとしてmikejihbe/metricsを利用している
といったところは、実際にサービスを運用しているところらしい意見です。
私も普段からYammerを利用しており、ここ数カ月でリアルタイム性がかなり向上してきている印象があったのですが、その裏にはNode.jsのパワーがあったのですね。
コメントを残す