2012-03-27 4 views
1

複数のサーバに従来のモノリシックなRailsアプリケーション(つまり、内部Web APIもメッセージキューもRedis/memcachedサーバもない)を配備すると、デバッグには非常に難しいですが、私は複数のホストにrailsサーバを配備する際に問題が発生する

私は考えることができるいくつかの明白な問題であるグーグルの数時間にもかかわらず、いくつかの具体例を考え出す苦労しています:

オブザーバーを - おそらく正常に動作しません1つのサーバー上でしか観測結果が伝播されず、すべてが観測されないため(メッセージキューがないと仮定して)

セッション - おそらくこれをデータベースに保存して、それが自分のホストを必要とするでしょう。

キャッシュ - どの掃除機でもサーバー間で無効化が伝播する問題があります。

他にも貢献したい人はいますか?私は本当に他の人が出会ったかもしれない記事や一般的な知恵に感謝します:)

答えて

0

オブザーバーは単なるコードコールバックです。 これらは各サーバー上の各プロセスで実行されます。

セッションは過去数年間Cookieストアにデフォルト設定されています。 複数のサーバーに問題はありません。 クッキーに十分なスペースがない場合は、何か間違っている可能性があります。

実際にはキャッシュの無効化が問題です。 しかし、それは常にです。 1つの解決策は、キャッシュを独立したサービスに分割することです。 FacebookのようなサイトにはMemcacheの巨大なファームがあります

スケーリングとクラスタリングは常に難しい問題です。 これはレールに対する古い議論のようです。ここ数年、この点でレールが輝いているのを見たことがあります。 ec2、nosql、およびサーバーの自動化がコミュニティでかなり標準化されています。

+0

ええ、私はまったく問題がないと信じています。私はちょうどレガシーRails 2.3アプリケーションを使って作業しています。他の人にスケーリングに赤ちゃんのステップを納得させようとしています:) – Kabal458

+0

観察者は意味をなさない - 各サーバーで観測が行われることを期待するときは、キャッシュはこれの良い例ですが、まったく別の問題です。 セッション私は完全に続かない。セッションデータがすべてクッキーに保存されていると言っていると思います。これは、自分自身でDBストアに切り替える大きな理由です。あなたがFileStoreのようなものを使っているなら、それは壊れるだろうと思う。 – Kabal458

+0

Cookieストアを使用する場合は、サーバーとブラウザーの間に結びつきはありません。あなたのデータが十分に小さい場合は、なぜそれを使用しないでしょう。 –

関連する問題