私は、既存の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管理者が購読する予定を制限しますか?