2017-09-26 6 views
0

私はPHPスクリプトで毎分スポーツデータを収集し、Redisに保存しています。それはすべて1つのubuntu 16.04サーバで行われます。それをコレクタサーバと呼ぶことにしましょう。redis:同じredisコンテンツを読んでいる40台以上のサーバ

私の目標は、Redisによって生成されたデータベースをお客様に提供することです。 DBはお客様にのみ読み取り専用になります。

お客様のサーバーをRedisコンテンツに接続する方法は、直接 で、そのコレクタサーバーのRedis host:ポートを指定します。すべてのクライアントがDBにアクセスしたいと思うなら、私はコレクターサーバーが邪魔になるのではないかと思います...(0120)サーバーとコンテンツ。

Redisで行う設定、または40 +外部サーバーがコレクタサーバーを強制終了せずに同じRedisコンテンツDBを読み取る方法はありますか?

答えて

1

スケールする前に、実際のおよび/またはシミュレートされた負荷でアプリケーションをRedisに対してベンチマークすることをお勧めします.1つのRedisサーバーで大きな負荷を処理できます(https://redis.io/topics/benchmarks参照)。

これは、読み取り専用にスケールされていると、Redisの「replication」を参照してください。書き込みのスケールを調整する場合は、Redis clusterを参照してください。

+0

ok Itamar、私は複製方法をチェックします。ありがとうございます –

1

+1 Itamarの答えです。しかし、顧客がRedisのリソースに直接接続できるようにすることを念頭におくべきもう一つの重要なことは危険であり、避けるべきです。

  1. これらのユーザーはホスト:ポートとパスワードを持ち、パスワードの接続、書き込み、変更、削除、さらにはシャットダウンや変更が可能です。
  2. スケーラブルではありません。すでに変更が遅すぎ、変更が難しい場合は、おそらく気づくでしょう。
  3. 一部のお客様は、標準でないTCPポートを使用して一部のルータとFWを接続して渡す際に問題が発生することがあります。

お客様のためにRedis通信を行うアプリケーションサーバーが必要です。

+0

私たちは顧客のサーバーを所有しています。彼らは私たちの側にいます。それは私たちが行う白いラベルの種類のビジネスです。クライアントは単にサービスを借りているだけで、独自のコードやサーバーを追加することはありません。コミュニケーションのすべてのステップが私たちの側にあります。ご回答有難うございます –

関連する問題