2016-06-13 15 views
1

私は、既存のREST APIの上にsocket.ioを使用してwebsocket APIを開発中です。socket.io APIのネームスペースデザインパターン

現時点では、主な2つのモデルがあります。ユーザーと注文です。 顧客レベルのアクセス権を持つ誰かのため

、彼らはsocket.io名前空間/Customersと部屋:customer-idを購読することができ、彼らは彼らだけが所有受注のためのイベントを削除/作成/更新が表示されます。 管理レベルのアクセス権を持つ誰かのため

、私は彼らが/Orders名前空間とだけ特定の順序のためのイベントを見るために部屋:order-idに加入する可能性が考えていました。

しかし、これはいくつかの問題があります:彼らは創造するまでに決定されていないIDを持っているので、createイベントを見ることができない

  • 管理者

  • 私はすべてのイベントに/Orders名前空間を開く場合は、これは可能性が潜在的に

(かかわらず、それらが画面に描画されている場合は、すべての注文からすべてのイベントを見て)アプリ尺度として、大量のサイズに成長のWebSocketのための共通の抽象化/グループ化ベースのAPIのいずれかのタイプtがありますo管理者が購読する予定を制限しますか?

答えて