wandenberg / nginx-push-stream-module

A pure stream http push technology for your Nginx setup. Comet made easy and really scalable.
Other
2.22k stars 295 forks source link

Send multiple different messages to multiple subscribers #110

Closed 5lava closed 9 years ago

5lava commented 10 years ago

push_stream_channels_path allows to send a message to multiple subscribers, which is undoubtedly awesome. But it also would be very convenient and efficient to be able to send multiple different messages to multiple subscribers in one request.

My suggestion is to split POST data to multiple messages, that can be done by specifying message lengths (syntactically similarly to how push_stream_channels_path allows to specify number of backtrack messages). For example, to send 3 messages we would specify 3 channel ids and 3 message lengths: /channel1.L50/channel2.L20/channel3.L100 (actually, specifying a length of last message is unnecessary, it's always a tail of POST data).

For example: push_stream_channels_path: /channel1.L3/channel2.L5/channel3.L1 POST data: aaabbbbbc Expected messages to be sent: aaa to channel1, bbbbb to channel2, c to channel3.

Thank you.

wandenberg commented 9 years ago

This kind of thing adds a big complexity to develop and to use the module. And also is not suitable to the majority. Is better to keep the way messages are published. You can use keep alive connections to have a better performance while publishing messages.