The ddp protocol lives in the heart of the Meteor framework, its clear and straightforward architecture is great and one of the strengths of this framework.
On the other hand, sometimes the ddp’s closed nature, limits/encumbers optimizations which are required in order to mitigate scaling issues (re-use subscription between many clients - 500+, sending heavy load of messages 1000+ updates/sec).
This article (the one attached below) proposes an option to extend the ddp protocol, so users can specify and extend the variety of allowed messages sent over the meteor connection socket. The proposed solution (PR) #6117 is not breaking anything in the protocol nor creating problems for already existing ddp clients (ObjectiveDDP for example). It just allows you to create support for custom messages, so each user who extends his ddp connection with custom messages, will also be able to extend his other ddp clients in the same manner.
Here is the full article explaining the benefits of custom ddp messages, an overview of a base architecture used in an app I’m developing, my need for custom ddp messages and how it is being implemented into the ddp-client package (one of meteor base packages).
I would be very happy to hear the community thoughts about this solution
If you are interesting in a further explanation about how this extension can help you scale meteor apps you can also watch the presentation i gave yesterday about scaling meteor - https://www.youtube.com/watch?v=H_NgPmJHC_E#t=20m47s. (ddp section - 33:49, it still not the edited version but i think it still worth watching)