2017-05-16 10 views
-1

私はいくつかの理由からNode.jsが好きであり、私の会社がそれを使ってAPIの一部を書いていることを示唆しています。しかし、チームのいくつかは、そのシングルスレッドの性質のため、あまりにも危険であると述べ、アイデアに反対しました。たとえば、予期しない例外のようなコード内の1つの間違いがシステム全体をクラッシュさせる可能性があると指摘していました。誰かがこの議論に応えるのを助けることができますか?Node.jsにAPIを記述していますか?

+0

これは少し話題ですが、すべてあなたのAPIが何をするかによって異なります。ビッグデータを作成する予定の場合は、JavaやGoなどの別のPLに移行してください。それが小規模なプロジェクトであれば、どうしていいのですか? –

答えて

1

予期しない例外によってシステム全体がクラッシュする可能性がありますが、PM2およびforeverなどのツールがあり、例外時に自動的にサーバーを再起動するために使用できます。PM2を使用してイベントシステムに接続してくださいあなたが望むものであれば、電子メールなどを送信してください。

安定したコードを生成するためには作業が理想的ですが、予期せぬ例外が発生する可能性があります。

+0

ああ...聞いてよかったです!ありがとう!! – Grateful

+0

私は自分自身に遭遇したことがあり、PM2はユーザーに最大限の稼働時間を提供するだけでなく、今後発生しないように問題をデバッグするのにも役立ちました。 –

+0

もう一度ありがとうございます。いいぞ! – Grateful

-1
process.on('uncaughtException', function (err) { 
    console.log(err); 
}) 

これをコードに追加するだけで、キャッチされない例外が発生した場合でもプロセスがクラッシュすることはありません。

また、プロセスの自動再起動には、Forever、PM2またはstrongloopを使用できます。

0

まず、クラッシュやエラーは悪くありません。製品を安定させるためには、開発中に可能な限り早く、頻繁にクラッシュすることが間違いないでしょう。クラッシュするのは、簡単に再現して調査する能力です。

私は、アプリケーションサイズに比例してエラーを再現するのがますます困難になるため、マルチスレッド環境でコードを書くのが難しいと感じています。そのようなアプリケーションのための効果的なトレースとエラーログのサポートを確認してください。シングルスレッドプログラミングで提供されるシンプルさに感謝します。

シングルスレッドの性質は、予測可能で安定したコードを書くのにNodeJSをよくします。また、プロダクションでは、ターミナルまでずっとクラッシュしたくない場合は、いくつかのイベントを処理することで簡単に制御できます。

+0

これらの考えに感謝します。 – Grateful

関連する問題