問題タブ [scalable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
905 参照

c++ - スケーラブルな PPP プロトコル。ステート マシンに関して必要なヘルプ

私はスケーラブルな PPP を設計しています [イーサネット、HDLC、ATM などに拡張できることを意味します]。ステート マシンが PPP スタック [FSM、エンコード、デコードなどが存在する PPPStack のデザイン ベース クラスを持っていることを意味する] または PPPoE [私の PPP ベース クラス PPPStack から派生したもの] によって処理されているかどうかを判断するのに行き詰まりました。

oE や oATM などに拡張できるように、C++ を使用して PPP を設計しています。

PPP フレームのエンコードは、PPP 自体と PPPoE で行われます [そのうちの PPP フレームは、検出されてセッションが開始された後に追加されます]。

スケーラブルを書くのはこれが初めてです。スケーラブル アーキテクチャに関係する人なら、彼らからのポイントも聞きたいと思うでしょう :)

よろしくお願いします

0 投票する
3 に答える
783 参照

authentication - スケーラブルな役割ベースの認証

私は現在、多くのユーザーが異なるアクセス権を持つリソース用のロールベースの認証システムを設計しています。

役割は、単一のユーザーまたは役割のグループです (つまり、役割は役割のツリーです)。(下の図を参照)

その他の画像はこちら

リソースは複数の認証プロパティ (読み取り、書き込み、削除など) を持つことができます。各認証プロパティは、操作へのアクセスを許可されたロールのリストです。(下の図を参照)

画像はこちら

問題は、ユーザーがプロパティにアクセスする権利を持っているかどうかを確認したい場合、最悪の場合、n 個のツリーをトラバースする必要があることです (n はプロパティに割り当てられたロールの数です)。

たとえば、'Max' がプロパティを読み取ることができるかどうかを確認するには、'Max' が含まれているかどうか、マーケティング、管理、および管理ツリーを確認する必要があります。


役割システムまたは同等に強力なものを維持しながら、非常に高価なツリー検索を削除するアルゴリズムまたは代替アプローチを知っていますか?

完璧なケースは、n ロールの O(log(n)) のようなルックアップです。

ありがとう、フィン

0 投票する
1 に答える
445 参照

lucene - 本番環境でのカッタ

Web サイトによると、Katta はスケーラブルで耐障害性があり、分散型のインデックス付きデータ ストレージです。

本番環境にデプロイする準備ができているかどうかを知りたいです。既に使っている方でアドバイスありますか?落とし穴はありますか?おすすめは?お客様の声? 共有してください。

どんな答えでも大歓迎です。

0 投票する
4 に答える
196 参照

scalable - コーディングプロセスをスケーラブルにするための可能な解決策はありますか?

私たちの各プログラムには共通点があります。

これは時間と心の無駄です。

共通部分が単純な場合は問題ありませんが、常にそうであるとは限りません。

誰かがこの種の質問を考えたことがありますか?

目標は次のとおりです。

コーディングを行うときは、新しい、たとえば、以前に行われたどの部分とも類似していない部分のみを行います。

良い解決策があれば、それは多くのプログラマーにとって大きな安心になるでしょう!

0 投票する
2 に答える
2378 参照

java - スケーラブルなマルチスレッド クライアント/サーバー ネットワーク アプリケーションのフレームワーク

java.net.Socket と java.net.ServetSocket は強力なネットワーク機能を提供してくれますが、独自のソケットとスレッドを作成して管理するという骨の折れる作業はしたくありません。

高度にスケーラブルなマルチスレッド クライアント/サーバー ネットワーク アプリケーションを作成/展開するために利用できるオープン ソース Java フレームワークはどれですか?

0 投票する
3 に答える
311 参照

performance - Twitter のようなスケーラブルな Web アプリケーションに必要な言語、ツール、アプローチ

今日Twitterを開発する場合、どの言語、ツール、アプローチを採用するか. 彼はどのように非常に倹約的な構成から始めて、今日の twitter が到達したレベルまで徐々に拡大するのでしょうか。(PHP+ Apache+ memchached+ MySQL) または (JSP+TomCat/Glassfish+ MySQL / other db) などの直接応答を提供できる場合。

基準は、多くのエンジニアリングと適切な言語がなくても簡単にスケーリングできるアーキテクチャであるため、同じことが行われた後に決定を再考する必要はありません。

(私の知る限り、Twitter は RoR であり、Linked in は Java であり、Php の Digg です。したがって、ランダムな考えだけを探しているわけではありません :)) あなたのオプションで十分だと思う理由をサポートしてください。

ありがとう

0 投票する
1 に答える
1284 参照

php - ニュース フィード データベースの設計効率

こんにちは、私は以前に似たような質問があり、決定的な回答や検証済みの回答がないのを見たことがあります。

Facebook に似た PHP/MySQL を使用してニュース フィード システムを設計しています。このテーブルは非常に大きくなる可能性があるため、効率が悪いと重大なボトルネックが発生する可能性があります。

通知の例: (太字の項目はリンクされたオブジェクトです)

User_AUSER_BがUser_C の新しいアルバムにコメントしました。

User_Aは [彼/彼女の] ガレージに新しい車両を追加しました。

最初は、Obj1:Type1 | の過剰な列を使用してこれを実装しました。Obj2:Type2 | 等..

動作しますが、十分にスケーラブルではないのではないかと心配しています。現在、オブジェクトのシリアル化を検討しています。

たとえば、私の新しいデータベースは次のように設定されています。

{ 内のすべては、JSON を使用してシリアル化されるデータを表します。

これは前進するためのスマートな (効率的/スケーラブルな) 方法ですか?

正規表現を使用して、シリアル化されたデータを残りの文字列から分離するのは難しいでしょうか?

0 投票する
2 に答える
1157 参照

asp.net - ASP.NET MVC/WCFサイトとOracleバックエンドのパフォーマンスの問題

WCFバックエンドを備えたASP.NETMVCを使用して、エクストラネットローンステータスチェックWebサイトを構築しています。WCFサービス参照を使用して顧客オブジェクトを取得するMVCサイトを使用したかなり標準的な設計です。このサービスはOracleバックエンド+httpバインディングを使用し、MVCサイトと同じサーバーでホストされません(したがって、レイテンシを短縮するためにtcpバインディングを使用することはできません)。

私たちが遭遇した問題は、サービスへのすべての呼び出しが7〜8秒の応答時間をもたらし、これはエクストラネットサイトでは受け入れられず、2秒のマジックマークよりもはるかに長いことです。サービスメソッドは、12個のストアドプロシージャを呼び出して、顧客オブジェクトを作成します。残念ながら、データベースは非正規化されているため(他の社内本番システムでも使用されているため、変更できません)、ほとんどの呼び出しは、顧客オブジェクトとそれに関連するオブジェクトにデータを入力する基本的なselectステートメントです。サービスプロキシはMVCアクションで適切に開かれ、閉じられ、破棄されるため、サービス接続のリークは発生しません。リクエストごとに新しいクライアントプロキシが作成されます(つまり、サービスにシングルトンパターンを使用していません)。

これをどのようにスピードアップできるかについてのアイデアはありますか?

ありがとう

0 投票する
8 に答える
1070 参照

php - PHPフレームワークの質問

私は現在ブラウザベースのMMOに取り組んでおり、本番環境で開始するコストが非常に低いため、LAMPスタックを選択しました(MSDN Universalを使用している場合でも、Windows + IIS + ASP.NET/C# + SQL Serverと比較して) 。ただし、これは簡単な作業ではないため、PHPフレームワークが必要になります。専用のクラウドホスティングソリューション(および開発用のVMWareイメージ)を使用し、必要に応じて構成できるため、Linuxで実行する機能以外の制限はありません。

順不同:

  1. 簡単にスケーラブルである必要があります。これは非常に重要です。ゲームが着実に成功すると、最終的にはホストが提供するものを超えてサーバーが大きくなり、いくつかの負荷分散されたサーバーに移動する必要があります。これを最小限の労力で実行できることが重要です。これには厳格な規則に従う必要があるかもしれないことを私は知っているので、提案されたフレームワークについて何か知っている場合は、何が必要になるかを説明してください。
  2. 認証、ACL、データベースアクセス、MVCなどのすべてのコアタスクにモジュールを提供する必要があります。簡単に記述して統合できる限り、1つまたは2つの欠落しているモジュールで問題ありません。
  3. 国際化をサポートする必要があります。プログラマーの多大な努力なしに、アプリケーションを翻訳したり言語を切り替えたりする手段を提供しないWebフレームワークの言い訳はないと思います。
  4. 非常に優れたコミュニティサポート、できれば商用サポートも必要です。はい、QCodo / QCubedが非常に優れていることは知っていますが、このタスクには十分に成熟していません。
  5. スムーズなAJAXサポートが必要です。フレームワークにAJAX対応のウィジェットが付属しているか、AJAXを追加する簡単な方法があるかどうかは、AJAXが簡単に実行できる限り関係ありません。jQuery + Dojoまたはそれらの1つを単独で使用する予定ですが、正確にはわかりません。
  6. 読みやすさを向上させ、多くの労力を軽減するときに自動的に魔法のように何かを行うことは、それが一般的に信頼でき、他の要件に干渉しない場合は特に素晴らしいでしょう。これはCakePHPの場合のようです。

私はたくさんの比較を読みました、そしてそれが本当に熱い議論であることを私は知っています。一般的な答えは、「自分に合ったものを自分で試してみてください」です。ただし、この作業が簡単だとは言えません。同様の要件を持つアプリケーションを構築した経験を求めています。これまでのところ、私は一般的な基準でZendとCakePHPに縛られていますが、よく知られているすべてのフレームワークは、それぞれ独自の長所と短所を持つ異なるアプローチで、何らかの方法で同じ機能を提供します。

編集:

  1. 私はMVCに少し慣れていませんが、それを学びたいと思っています。MVCを初めて使用する人にとって、フレームワークが簡単かどうかは気にしません。私は、MVCやその他のアーキテクチャ(またはそれらが呼ばれるもの)を学ぶために多くの時間を持っています。
  2. Zendは単なるライブラリのコレクションですが、ユーティリティの「フレームワーク」として使用します(私が言ったように、いくつかの優れたライブラリもあります)。
  3. 現在のPHPの候補は、CakePHP、Kohana、Zendだけです。
0 投票する
4 に答える
2312 参照

php - スケーラブルな PHP (AJAX ベース) チャット システムの最適なアプローチ

会社用のチャット システムを構築していますが、どのようにシステムを構築するのが最善でしょうか?

現在のセットアップは、PHP と Memcacheq を備えた Nginx HTTP サーバーです (チャット メッセージをユーザー自身のキューに追加するメッセージ キューとして)。次に、(Comet スタイルのリクエストを介して) Nginx サーバーをポーリングし、メッセージ キューに更新のクエリを実行します。

Memcacheq などのメッセージ キューを使用して、ユーザー間のチャットとサイト全体のチャットの両方を備えたチャット システムを処理することは良い考えですか、それとも MySQL に固執するのが最善でしょうか?

ありがとう!