0

検索と更新の両方のために集中データベースにアクセスする方法を見つけようとしています。

以下は私が探しているものです、

サーバー 1 には、int カウンターなどのこの変数があります。

サーバー 2 はユーザーと対話し、特定のしきい値に達するまで、ユーザーがサービスを使用するたびにカウンターを増やします。このしきい値に達すると、サーバー 2 はユーザー アクセスの拒否を開始します。

また、ユーザーは複数の場所から複数のサーバー (サーバー 2 など) を使用することができ、ユーザーが任意のサーバーにアクセスするたびにカウンターが増加します。

私はグーグルを試しましたが、名前のないものを検索するのは難しいです.

4

1 に答える 1

0

これを設計する 1 つのアプローチは、ユーザーごとにシャーディングを行うことです。つまり、ユーザーの ID に応じてサーバー間でユーザーを分割します。つまり、サーバーが 10 台ある場合、ID の末尾が 2 のユーザーのデータはすべてサーバー 2 に保存されます。これは、ユーザー ID が均一に分散されていることを前提としています。

もう 1 つのアプローチは、場所ごとにユーザーを分割することです。たとえば、アジアとヨーロッパにサーバーがある場合です。ユーザーがどこにいるかを示す User レコードのプロパティが必要です。それに基づいて、どのサーバーにルーティングするかがわかります。

最終的に、これらすべての設計オプションには、「ユーザーのマスター レコードはどこにあるのか」という概念があります。これらの各アプローチは、この質問に明確に答えようとします。

別のカテゴリのアプローチは、一部のデータベース ベンダーでサポートされているマルチマスター レプリケーションに関係しています。この方法は拡張性がありません (つまり、20 台のサーバーに拡張するのは困難です) が、検討する必要があるかもしれません。

于 2013-03-24T23:17:38.213 に答える