問題タブ [scalability]
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.
asp.net - サーバーファームシナリオでの新しいメッセージ通知機能の実装
私はフォーラムベースのウェブサイトで作業しています。このサイトはオンサイトメッセージングもサポートしています(つまり、ユーザーは他のユーザーにプライベートメッセージを送信できます)。私がやろうとしているのは、メンバーに新しいメッセージがある場合に通知することです。受信トレイのリンクを太字で表示し、メッセージの数も表示します(例:Inbox(3)) 。
サーバーファームで実行されているWebサイトにこれを実装する方法が少し混乱しています。リクエストごとにデータベースにクエリを実行するのはやり過ぎのように思われるので、これは問題外です。おそらく、共有キャッシュを使用する必要があります。これは、多くの大規模なサイト(サーバーファームで実行されている)を含む多くのサイトに共通の機能だと思う傾向があります。どのように実装されているのでしょうか。アイデアをいただければ幸いです。
php - SAAS アプリケーションにはどの課金プロバイダーを使用できますか?
私は、企業がサプライヤー情報を管理できるようにするサービスとしてのソフトウェア (SAAS) アプリケーションに取り組んでいます。
請求書の管理、サブスクリプション、更新、支払いのリマインダーなど、請求サービスを提供できるプロバイダー/ベンダーは何ですか?
これをゼロから構築するには、かなりの時間がかかると思います。
請求に加えて、このアプリケーションを正常に公開するために検討する必要があるその他の主要なコンポーネント/考慮事項は何ですか?
私は次のメモを持っており、提案を歓迎します。
1) インフラストラクチャ : スケーラビリティとメンテナンスのために、特に需要が増加した場合のスケールアップのために、インフラの管理から解放されるようにクラウド コンピューティングを使用しています。
2) セキュリティ : 専用サーバーを使用すると、ファイアウォールなどのセキュリティに多額の費用がかかることがわかりました。したがって、クラウド コンピューティングを使用すると、アプリケーションを安全なプラットフォームに「乗せる」ことができます。
よろしく
scalability - スケーラブルなクラウド コンピューティング サービス
次の要件を満たすクラウド コンピューティング サービスを探しています。
- サーバーを管理する必要はありません
- すぐに利用可能
- 自動スケーリング
- 少なくとも数分間タスクを実行する能力
Google App Engine は、プロセスが 30 秒間しか実行できないことを除いて、これらの要件をすべて満たしているようです。
私のアプリケーションは、要求されたときにユーザーのためにいくつかの負荷の高い計算を実行する Web サイトです。半分の時間は負荷がゼロに近く、最大で数百の同時タスクが実行されると予想しています。
このようなものは存在しますか?
編集:これらは私がすでに見たサービスであり、それらが私にとってうまくいかない理由です:
- Amazon EC2 - サーバー管理が必要で、数秒でサーバーを 0 から 1 に変更することはできません
- Amazon MapReduce - 起動には数分かかります。ほんの数秒で利用できるなら、これを使うだろう
- Microsoft Azure - Alan が言ったように、まだサーバー管理が必要です
- Google App Engine - タスクは 30 秒しか続かない
web-services - 初心者のための実用的なSOA
私はSOAの世界に全く慣れていません。そのため、私はいくつかの「SOAフレームワーク/テクノロジー」を調べ、それらを利用して高度にスケーラブルな(Facebookクラスの)Webサイトを構築する方法を理解しようとしています。
私がここで解決しようとしているいくつかの「痛み」があります:
- 構成可能性(+依存関係の管理、Pub / Sub)
- サービスの言語に依存しない
- スケーラビリティとパフォーマンス
- 高可用性
上記の基準のサブセットに答えるいくつかのテクノロジーを調べました。
- Thrift -FacebookのクロスプラットフォームRPCプラットフォーム
- WCF -SOAP、JSON、RESTをサポートしているため、言語の相互運用性があると見なすことができます。Javaプロキシの生成に使用できるWSDLファイルを生成します。
- Microsoft DSS-私の調査にそれを含めただけですが、それは高度に状態主導で.NET固有であるため、関連性がないようです。
- ウェブサービス
これで、上記から構成可能性と言語非依存性のいくつかの側面をどのように得るかを理解しました。しかし、スケーラビリティと高可用性のために上記/他のツールを使用する方法についての具体的な情報(話題ではない)はあまり見つかりませんでした。だから最後に私は私の質問に行きます:
上記で定義した問題を解決するために、SOAテクノロジーをどのように活用しますか?そのためのテクニカルガイドはどこにありますか?システム図だけでなく、実際のライブラリ、コードサンプル、APIを探しています...
scalability - ソーシャルネットワーキングWebサイトはどのように友達の更新を計算しますか?
ソーシャルネットワーキングウェブサイトは、おそらくユーザー、友達、イベントのためのテーブルを維持しています...
これらのテーブルをどのように使用して、効率的かつスケーラブルな方法でフレンドイベントを計算しますか?
sql-server - MS SQL Server 2008 データベースのスケーリング
サイトを拡張する最善の方法を見つけようとしていますが、mssql がどのように拡張されるかについて質問があります。
現在のテーブルは次のとおりです。
cache_id - int - 識別子
cache_name - nvchar 256 - event_id とともにルックアップに使用
cache_event_id - int - 基本的にグループ化の方法
cache_creation_date - datetime
cache_data - varbinary(MAX) - データサイズは 2k から 5k です
保存されたデータはバイト配列であり、基本的には私のサイトのページの (圧縮された) キャッシュされたインスタンスです。
私が見るさまざまな保存方法は次のとおりです
。1)1つの大きなテーブルには、数千万のレコードが含まれ、サイズが簡単に数ギガバイトになります。
2) 上記のデータを含む複数のテーブル。つまり、各テーブルは 20 万から 100 万のレコードになります。
このテーブルのデータは Web ページを表示するために使用されるため、レコードを取得するのに 200 ミリ秒を超えるものは、私の目には悪いものです (1 ~ 2 秒のページ読み込みで問題ないと考える人もいますが、それは遅いのでやりたいと思います)。それを低く保つために最善を尽くします)。
要するに、何が SQL サーバーの速度を低下させているのでしょうか?
それはテーブルのサイズ (ディスク容量)
ですか? 行の数
ですか? 複数のデータベース サーバーを使用する費用対効果がなくなるのはどの時点ですか?
これらのことを予測することが不可能に近い場合は、それを返信として受け入れます. 私はDBAではなく、基本的にDBを設計しようとしているので、後で大量のデータが含まれているときに再設計する必要はありません。
asp.net - サーバー ファーム全体でロックを実装する方法は?
サーバー ファーム全体でタスクを同期するためのよく知られたベスト プラクティスはありますか? たとえば、サーバー ファームで実行されているフォーラム ベースの Web サイトがあり、データベース内の複数のテーブルへの書き込みが必要なアクションを実行しようとしている 2 人のモデレーターがいて、それらのモデレーターの要求がサーバー内の異なるサーバーによって処理されているとします。ファーム、ロック機能を実装して、同じアイテムに対して同時にそのアクションを実行できないようにするにはどうすればよいですか?
これまでのところ、データベース内のテーブルを使用して同期することを考えています。たとえば、テーブル内のアイテムの ID を確認して、存在しない場合は挿入して続行し、そうでない場合は戻ります。また、おそらくこれには共有キャッシュを使用できますが、現時点では使用していません。
その他の方法で?
ちなみに、データベースのバックエンドとして MySQL を使用しています。
mysql - スケーラビリティ オプションを使用した複数の MySQL データベースのセットアップ
時間の経過とともに多くの一意のデータベース (実際には数千) の追加をサポートする MySQL 環境をセットアップする必要があります。ある時点で MySQL サーバーの追加を開始する必要があり、2 台目、3 台目、100 台目のサーバーへの移行を容易にするために、事前に環境を準備しておきたいと考えています。
興味深いことに、データベースにクエリを実行するアプリケーションがすべてのクエリを単一のアドレスに送信し、結果を受け取るようにソリューションをモデル化すると、非常に便利になります。サーバーの数と場所を認識しない必要があります。データベース名は一意であり、データベースを保持しているサーバーを特定するために使用できます。
いくつかの調査を行ったところ、MySQL Proxy が主な候補として出てきましたが、上記のように実行することについて具体的なことを見つけることができませんでした.
誰?
concurrency - CCRおよびDSSツールキットモデルは、他のスケーラビリティおよび同時性アプローチとどのように比較されますか?
CCRとDSSフレームワークモデルを含む、スケーラビリティと並行性に対するさまざまなアプローチの比較に興味があります。特にHadoopとErlangスタイルの同時実行性との比較に興味があります