2009-03-05 14 views
16

私は今後のプロジェクトの可能性としてErlangを検討しています。 WebサーバーがHTTP要求を受け入れるためには、 "高スケーラビリティ、高信頼性"(どんなプロジェクトではないのですか?)オフライン処理のためにサーバーの中央クラスタにバイナリデータを送信する数千の分散クライアント(ユーザーではなく他のシステム)があります。応答は非常に短く、成功、失敗、エラーコード、最小限のデータになります。ファイアウォールを通過する可能性が高いので、HTTPを使用したいと考えています。Erlangの弱点は何ですか?

このプロジェクトに関する限られた情報があれば、Erlangのような技術を使ってポップアップする可能性のある弱点を提示できますか?たとえば、私はErlangのテキスト処理機能が何かを残すかもしれないと理解しています。

あなたのコメントがありがとうございます。おかげさまで

+1

は、回答を受け入れるとよいでしょう。 – jldupont

答えて

10

これはErlangのような言語にとって完璧な候補のようです。言語のスケーリングプロパティは非常に優れていますが、データ処理能力が心配な人は、そうではありません。これは非常に強力な言語であり、開発者向けに多数のライブラリが用意されています。これは古い言語であり、過去に頻繁に使用/テストされていたため、やりたいことはすべてすでにある程度完了している可能性があります。

5

erlangバージョンR11B5以降を使用していることを確認してください。以前のバージョンのerlangでは、tcp sendをタイムアウトする機能はありませんでした。その結果、サービスが停止した、または悪意のあるクライアントが、送信したデータを拒否して、送信プロセスをロックすることによって、アプリケーションに対してDoS攻撃を実行できるようになります。

号OTP-6684(R11B5's release notes)を参照してください。

3

私はErlangのテキスト処理を理解しています 機能は に何かを残す可能性があります。

starlingプロジェクトはすでに基本的なUnicodeのサポートを提供し、EEPは現在ドラフトで(アーラン強化案)があるが、アーラン/ OTPのサポートの主流にそれを持参するに行きます。

+1

リンクは「見つからない」ページにつながります。 googleコードのstarlingのバージョンも死んでいるようだが、ここにはよりアクティブなバージョンがある:https://github.com/hypernumbers/starling –

+0

うん、ハサンはハイパーナンバーズで働いていて、私たちのgithub環境に戻ります。 Hypernumbersのバージョンは現在「公式」バージョンです。 –

5

Erlangにはスケーラビリティと信頼性がありますが、プロジェクト定義から、必要なテキスト処理のタイプを説明しません。

Erlangの主な制限は、あなたの地域で経験豊富な開発者を見つけるかもしれないと思います。 Erlangのアーキテクトとコーダーの利用可能性についていくつかの調査を行います。

あなた自身を教える予定がある場合や、開発者にそのことを学ばせる場合は、それはコーディングの方法が非常に異なっており、コアのドキュメントは良いですが、 。もちろん、非常に活発なコミュニティが簡単にそれを補う。

+0

2017これは依然としてかなり目立っています。Erlangは、OPの質問に記載されているような種類のプロジェクトにとっては優れた選択ですが、まだ採用されていないErlangの主要プログラマ*の利用可能性は本当の制限要因です。 – zxq9

1

ErlangのRedis読み取りパフォーマンスにいくつかの問題が発生しました。ここにはmy questionがあります。私はその理由がErlangで書かれたモジュールだと思う傾向があります。モジュールはRedisとの通信中にたくさんの文字列を処理している間に問題を抱えています。

+1

別のドライバを使用して読み取りパフォーマンスを向上させることができました。 Cで書かれたドライバとそのラッパーはまだまだ高速ですが、私はErlangが提供するperfを扱うことができます。 –

関連する問題