現在、ユーザーの場所に基づいてタイムラインにメッセージを送信および読み取ることができるモバイル アプリケーションを設計しています。実際の開発版ではActiveMQを使用してメッセージを送信および消費していますが、まだ完成していないため、開発を続ける前に、将来の問題を回避するためにアーキテクチャをどのようにするかを定義することを好みます。これが正しいアプローチかどうかはわかりませんが、私が考えたことは次のとおりです。
- すべてのユーザーは、キューにメッセージを送信するプロデューサーです。キュー名は、ユーザーの一意の ID にすることができます。
- 十分に近い場合、ユーザーは他のユーザーのキューにサブスクライブできます。これには、ユーザー キューのグループに対するトピックのようなものが含まれます。このキューは、消費者の位置である円の中心である固定半径内にあるユーザーを取得することによって生成される、動的である必要があります。各ユーザーには、このような独自のトピックまたはキューがあります(Twitter のタイムラインと非常によく似た概念)。これは、各ユーザー キューに複数のコンシューマーがあることを意味します。
クライアント側からは、キューとの接続プロトコルとして Objective-C ストンプ クライアントを使用しています。
私の質問は、これは問題への良いアプローチですか? 近くのユーザーへのユーザー サブスクリプションが、 ActiveMQ とTopicsを使用した実行可能なアーキテクチャであるかどうかはわかりません。このタイムライン サブスクリプションの問題に対する提案はありますか? 一方で、すべてのユーザーが独自のキューのプロデューサーになる必要があることは明らかですが、私も間違っているかもしれません。
編集
主題に関する詳細情報を含む参照、リンク、本などは高く評価されます。