2017-04-02 1 views
5

Erlang/Elixirを使用して金融市場でサービスとしてプラットフォームを作成したいと考えています。私は金融市場でAWSラムダスタイルの機能を提供しますが、web/rest/http経由でアクセスできるのではなく、独自のARMベースのハードウェア端末をクライアントに配布する予定です(Nvidia Jetson TX2ベースのもの、 。これらの端末から機能にアクセスします。私はその端末をシステム内の完全なノードにしたい。だから、彼らは俳優のモデルを使って私の中央サーバにメッセージを伝え、実際には、端末のユーザが自分の機能をオンラインにすることを決定すると、端末は互いにメッセージを送るかもしれません。Erlangシステムのノードの最大(実際的な)数は何ですか

これは実行可能なモデルですか?このように1000台の端末を走らせることができますか? 100 000?どんな種類の制限が私が突き当たるでしょうか?ソフトリアルタイムの金融市場でデータを流通させても、そのようなネットワークはまだパフォーマンスがあると想像するのに十分なほどの規模のErlangメッセージルーティングですか? (主に中央サーバから端末に至るが、端末から端末に直接移動することは可能である)。最大100kまたはそれ以上の異なる「サブスクリプション」データチャネルプロセスが利用可能なシステムがあり、その多くは入力を受け取り、1秒ごとに出力を生成します。

基本的には、上記のようなErlangシステムのスケーラビリティ機能に関する標準的なガイドが必要です。理想的には、私はまた、そのようなシステムのセキュリティの意味へのいくつかのガイドをしたいと思います。グローバルルーティングテーブルやシステムの他の部分が不正な端末ユーザによって侵害されたり、エッジノードがErlangネットワークの他の部分の敏感な部分から「封鎖」されることはありますか?

高演算処理にポート/ NIFを頻繁に使用したいと考えています。

答えて

5

私は戻ってアーランの流通機構がために開発されたシステムの一種に聞くすべては、さまざまな理由でこの道を追求しないでしょう - パッシブバックプレーン上のボードセット: "フリー"ローカル帯域幅。マシン全体が同じセキュリティドメイン内にあります。 Erlangの配布プロトコルは、広く普及している大規模なネットワークでうまく動作するにはあまりにも面倒であり、確かにあまりにも安全性が低いです。もちろん、ノードが互いに:os.cmd("rm -rf /")を実行できるようにしたいのでない限り。

セントラルシステムのErlangディストリビューションプロトコルを使用して心臓のコンテンツを使用し、これらの端末でそのシステムと相互にSSL上のデータのみの通信を行うようにします。その上に、あなたが望むことを行うためのオーバレイネットワークを構築することができます。

2

私は慎重に読むことをお勧めします。あなたのサービスを小さなマイクロサービスにも分けることをお勧めします。
別のベンチマークはInvestigating the Scalability Limits of Distributed Erlangです。ジョーArmstorngの本プログラミングErlangの
、と彼は言った:。
「数年前、私は、私はプラネットで働いていた私は、ネットワークプラネットへのアクセスを持っていた上の私の研究の帽子を持っていたとき、私は空のインストールすべてのPlanetLabマシン上のErlangサーバ(約450台)
私はマシンで何をするのか分からなかったので、後で何かを行うためのサーバインフラストラクチャを設定しました。
外部ポートを使用しないでください。代わりに、CまたはC++で書かれた内部ドライバを使用してください。

+0

大丈夫私は、各ノードがシステム全体でn *(n-1)を意味するn-1接続を持っていると仮定しますか?この事実は、本質的にメッシュなので、私の提案されたアーキテクチャを実行不可能にするように見えます。実際にルーティングはありませんか?はい、私はErlangのメーリングリストに尋ねます。 –

+1

はい、n-1が正しいです。私はいくつかのベンチマークを検索し、私の最後の編集で、私はそれらを投稿に追加しました。 – Pouriya

+0

なぜ外部ポートを使用しないのですか?また、@Pouriya - 外部参照を与えることで答えないでください。 – cdegroot

1

あなたはErlangのアーキテクチャに関する多くの情報を見つけるでしょうが、この答えは次のとおりです。How scalable is distributed Erlang?

短い答えは、クラスタ内のノードの実用的な限界があるが、この制限はかなり容易連盟と違反することができます。

EDIT 1 /さらにより多くの私は、この本を読むことをお勧めします:Designing for scalability with Erlang/OTP

関連する問題