2012-02-13 6 views
3

私たちのグループは、大規模なユーザー間の内部メッセージングシステム(facebookメッセージに似ています)の設計と実装を担当しています。このシステムは、少なくとも10億件のメッセージを処理することが期待されています。大規模なユーザーの電子メール/メッセージングシステム向けの優れたデザインパターンまたはオープンソースソフトウェア

システムは、phpとmysqlデータベースまたはnosqlデータベースのいずれかを使用して構築されます。私たちは参考になる技術に公開しています。

このような社内メッセージングシステムは、おそらく非常に一般的であり、おそらく過去にさまざまな企業によって何百回も構築されてきたことでしょう。

これまでに使用されていたうまく機能しているような標準的なデザインパターンはありますか?

書籍やガイド、または一般的なアドバイスは非常に便利です。

(あなたもいただければ幸いです。このシステムは、設計時に参考になることをお勧めしますすべてのオープンソース(またはクローズドソース)ソフトウェアを知っている場合は!)

+1

[プログラマーズ・スタック・エクスチェンジ・コム](http://programmers.stackexchange.com)のほうが良いでしょうか?私は決めることができません。 – rdlowrey

+0

FBはXMPP http:// xmppを使用していると聞きました。org/ – Joseph

+0

車輪を再構築しないでください。あらかじめ作られたシステムはきれいに整えられています。 –

答えて

2

これはプログラマに良く適しているかもしれません.stackexchange.comしかし、ここで答えられるあなたの質問の少なくとも一部があります。

標準的なデザインパターンはありますか?はい。

メッセージがライブになる可能性がある場合(チャットなど)、XMPPは素晴らしい選択です。 Wikipedia sums up its strengths well and does mention a weakness.あなたのユーザーがあなたのクライアントを使って話す必要がないので、XMPPクライアントもそうすることができます。これは私の意見では大きなポイントです。

これはPHPをタグ付けされているので、ここで私の知っているPHPに2つのXMPPの実装は次のとおりです。

LIGHTRhttp://code.google.com/p/lightr/

LIGHTRは、オブジェクト指向PHP5で書かれたXMPPとBOSHクライアントです。これは、AJAXが有効なフロントエンドで実行されるように意図されており、CURLライブラリを使用してBOSHサーバとの接続を処理します。

XMPPHPhttp://code.google.com/p/xmpphp/

XMPPHPは、私が何年に有望されてきたClass.Jabber.PHPの後継です。- XMPP 1.0サーバーに接続する(Googleトーク、LJトーク、jabber.orgなど) - TLS暗号化をサポートする - いくつかのXML処理アプローチとサポートされているスタイル(無期限に処理する、数秒間にprocessTimeを処理する、processTimeを処理する、processTimeを数秒間待つ)、イベント待ちや地図作成など

私はどちらも使用していません。

+0

ありがとうリーバイス!素晴らしい答え。私はXMPPの使用を考えていませんでした。 xmppが(何百万もの)メッセージを(簡単に)拡大することができるかどうか、そして永続性のある場所にメッセージを保存する場所(たとえば、mysqlデータベースに保存されているかどうか)を知っていますか? – eric

+0

@eric私が知っている限り、Google検索から来ています。運が良かった。 –

+0

助けてくれてありがとう! – eric

関連する問題