Push architectures are no panacea, they create problems all of their own. For example in an unregulated landscape like the Internet, it becomes difficult to impossible to control the flow of updates to any individual peer. Options are unsubscribing or dropping updates, resulting in data loss.
The equivalent scenario in polling land produces a better result: an oversubscribed producer that begins dropping requests will typically just cause a transient delay, as clients retry at a later time.
RSS feeds commonly don't include their full history - certainly this is true of the biggest providers like Blogspot.
Finally a good client will know to adjust its polling delay according to the traffic of a particular feed. This is a <5 line function, and something Google Reader was implementing a decade ago.
Pull-based systems of course suffer from latency, but they require vastly less centralized state and coordination than a push based system, and suffer from much less painful failure modes
Most exciting of all (in my opinion), is that pull-based designs can exist on top of all the infrastructure that already existed, rather than requiring dedicated active network components all of their own -- that's a whole lot of crap code we can avoid rewriting over and over again for the next decade.
The equivalent scenario in polling land produces a better result: an oversubscribed producer that begins dropping requests will typically just cause a transient delay, as clients retry at a later time.
RSS feeds commonly don't include their full history - certainly this is true of the biggest providers like Blogspot.
Finally a good client will know to adjust its polling delay according to the traffic of a particular feed. This is a <5 line function, and something Google Reader was implementing a decade ago.
Pull-based systems of course suffer from latency, but they require vastly less centralized state and coordination than a push based system, and suffer from much less painful failure modes
Most exciting of all (in my opinion), is that pull-based designs can exist on top of all the infrastructure that already existed, rather than requiring dedicated active network components all of their own -- that's a whole lot of crap code we can avoid rewriting over and over again for the next decade.