<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Convention for batching</title>
	<atom:link href="http://blog.webhooks.org/2009/06/14/convention-for-batching/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.webhooks.org/2009/06/14/convention-for-batching/</link>
	<description>User-defined HTTP callbacks for push, pipes and plugins</description>
	<lastBuildDate>Tue, 04 May 2010 19:35:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: DJ Adams</title>
		<link>http://blog.webhooks.org/2009/06/14/convention-for-batching/#comment-176</link>
		<dc:creator>DJ Adams</dc:creator>
		<pubDate>Fri, 10 Jul 2009 15:58:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webhooks.org/?p=189#comment-176</guid>
		<description>Hi Oliver

In danger of pointing out the obvious, but this sounds like the classic &#039;does it scale&#039; question is being applied here as it&#039;s applied to everything. The point with webhooks is that the model is inverted: Whereas polling the &#039;million-to-single endpoint&#039; problem is hard to scale, with webhooks/push, scaling of the &#039;single-to-million endpoints&#039; is at least addressable (e.g. queues).

As Jeff says, webhooks are not a silver bullet, but in flipping the comms model they give us a weapon to resist the polling onslaught (groan).

dj</description>
		<content:encoded><![CDATA[<p>Hi Oliver</p>
<p>In danger of pointing out the obvious, but this sounds like the classic &#8216;does it scale&#8217; question is being applied here as it&#8217;s applied to everything. The point with webhooks is that the model is inverted: Whereas polling the &#8216;million-to-single endpoint&#8217; problem is hard to scale, with webhooks/push, scaling of the &#8216;single-to-million endpoints&#8217; is at least addressable (e.g. queues).</p>
<p>As Jeff says, webhooks are not a silver bullet, but in flipping the comms model they give us a weapon to resist the polling onslaught (groan).</p>
<p>dj</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Lindsay</title>
		<link>http://blog.webhooks.org/2009/06/14/convention-for-batching/#comment-161</link>
		<dc:creator>Jeff Lindsay</dc:creator>
		<pubDate>Mon, 15 Jun 2009 09:04:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webhooks.org/?p=189#comment-161</guid>
		<description>Yes, multipart messages seem like a great way to batch requests. However, they&#039;re a little cumbersome to deal with on the receiving end and aren&#039;t terribly well supported by many libraries.</description>
		<content:encoded><![CDATA[<p>Yes, multipart messages seem like a great way to batch requests. However, they&#8217;re a little cumbersome to deal with on the receiving end and aren&#8217;t terribly well supported by many libraries.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tamberg</title>
		<link>http://blog.webhooks.org/2009/06/14/convention-for-batching/#comment-160</link>
		<dc:creator>tamberg</dc:creator>
		<pubDate>Mon, 15 Jun 2009 08:46:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webhooks.org/?p=189#comment-160</guid>
		<description>There is an RFC for batched HTTP requests (http://www.snellspace.com/wp/?p=991)

Regards,
tamberg</description>
		<content:encoded><![CDATA[<p>There is an RFC for batched HTTP requests (<a href="http://www.snellspace.com/wp/?p=991" rel="nofollow">http://www.snellspace.com/wp/?p=991</a>)</p>
<p>Regards,<br />
tamberg</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oliver</title>
		<link>http://blog.webhooks.org/2009/06/14/convention-for-batching/#comment-158</link>
		<dc:creator>Oliver</dc:creator>
		<pubDate>Sun, 14 Jun 2009 22:18:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webhooks.org/?p=189#comment-158</guid>
		<description>No reason really. I&#039;ve just been following it&#039;s growth and that has been the one major problem I see with it.
CNN and Twitter were actually the kinds of services I was thinking would have a scaling problem with web hooks.
But I like how you explained that it isn&#039;t necessarily the proper answer for those types of services. There are so many services that it is a superior answer to however, that it should definitely have its place in design discussions. 

It could still be a problem for smaller sites only having thousands of requests to make though. Most small services don&#039;t want to use an &quot;enterprise&quot; solution because of costs, so they will have to solve the scaling problems themselves. 
For example, lots of people have great services running on shared hosting plans. If they start having to send thousands of requests they could start having problems pretty quickly, maybe forcing them into higher hosting costs a little sooner than they would normally need to. (I don&#039;t think shared hosting providers would look to kindly on lots of requests going out all day)

ps. I just noticed the google groups link at the top. That&#039;s probably a better place for my curiosities. ;)</description>
		<content:encoded><![CDATA[<p>No reason really. I&#8217;ve just been following it&#8217;s growth and that has been the one major problem I see with it.<br />
CNN and Twitter were actually the kinds of services I was thinking would have a scaling problem with web hooks.<br />
But I like how you explained that it isn&#8217;t necessarily the proper answer for those types of services. There are so many services that it is a superior answer to however, that it should definitely have its place in design discussions. </p>
<p>It could still be a problem for smaller sites only having thousands of requests to make though. Most small services don&#8217;t want to use an &#8220;enterprise&#8221; solution because of costs, so they will have to solve the scaling problems themselves.<br />
For example, lots of people have great services running on shared hosting plans. If they start having to send thousands of requests they could start having problems pretty quickly, maybe forcing them into higher hosting costs a little sooner than they would normally need to. (I don&#8217;t think shared hosting providers would look to kindly on lots of requests going out all day)</p>
<p>ps. I just noticed the google groups link at the top. That&#8217;s probably a better place for my curiosities. ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Lindsay</title>
		<link>http://blog.webhooks.org/2009/06/14/convention-for-batching/#comment-157</link>
		<dc:creator>Jeff Lindsay</dc:creator>
		<pubDate>Sun, 14 Jun 2009 21:34:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webhooks.org/?p=189#comment-157</guid>
		<description>Sure. One solution is to delegate it to a service that specializes in queuing up those requests. Like blog ping services. But perhaps something like Hookah will grow into a highly scalable &quot;enterprise&quot; event dispatcher. 

Scaling is going to be different for different topologies though. If you have a large number of events, but not necessarily millions of consumers, perhaps something like the Twitter Stream API is better suited. 

But I think it&#039;s not terribly likely there will be a service that will have a million webhook consumers. That would be nice though. 

It really depends on what you&#039;re trying to accomplish. I think in the example of CNN, a simple RSS feed is fine. It will be timely enough and scales much easier. 

Webhooks are not a silver bullet by any means. 

I guess, I&#039;m curious why you&#039;re interested in scaling webhooks at that level? This question keeps making me think pre-mature optimization.</description>
		<content:encoded><![CDATA[<p>Sure. One solution is to delegate it to a service that specializes in queuing up those requests. Like blog ping services. But perhaps something like Hookah will grow into a highly scalable &#8220;enterprise&#8221; event dispatcher. </p>
<p>Scaling is going to be different for different topologies though. If you have a large number of events, but not necessarily millions of consumers, perhaps something like the Twitter Stream API is better suited. </p>
<p>But I think it&#8217;s not terribly likely there will be a service that will have a million webhook consumers. That would be nice though. </p>
<p>It really depends on what you&#8217;re trying to accomplish. I think in the example of CNN, a simple RSS feed is fine. It will be timely enough and scales much easier. </p>
<p>Webhooks are not a silver bullet by any means. </p>
<p>I guess, I&#8217;m curious why you&#8217;re interested in scaling webhooks at that level? This question keeps making me think pre-mature optimization.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oliver</title>
		<link>http://blog.webhooks.org/2009/06/14/convention-for-batching/#comment-156</link>
		<dc:creator>Oliver</dc:creator>
		<pubDate>Sun, 14 Jun 2009 21:19:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webhooks.org/?p=189#comment-156</guid>
		<description>A question I have about webhooks is how will large sites handle having to send out potentially hundreds of thousands or millions of http requests to everyone who requested a hook? 
Like if CNN had a hook people could sign up for to get the latest stories, they would probably get a lot of subscribers. Having to make a million http requests for every new story seems like a large load for a content deliverer to have to handle. 
Especially assuming that each request waits for an ack. What if a lot of the endpoints are slow or down? It just doesn&#039;t seem to scale very well.
What are some of the potential solutions to sending out a million http requests?</description>
		<content:encoded><![CDATA[<p>A question I have about webhooks is how will large sites handle having to send out potentially hundreds of thousands or millions of http requests to everyone who requested a hook?<br />
Like if CNN had a hook people could sign up for to get the latest stories, they would probably get a lot of subscribers. Having to make a million http requests for every new story seems like a large load for a content deliverer to have to handle.<br />
Especially assuming that each request waits for an ack. What if a lot of the endpoints are slow or down? It just doesn&#8217;t seem to scale very well.<br />
What are some of the potential solutions to sending out a million http requests?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Lindsay</title>
		<link>http://blog.webhooks.org/2009/06/14/convention-for-batching/#comment-155</link>
		<dc:creator>Jeff Lindsay</dc:creator>
		<pubDate>Sun, 14 Jun 2009 19:38:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webhooks.org/?p=189#comment-155</guid>
		<description>Right, they put everything under a single value, which can then be an array (which btw, seems to be slightly unstandardized in many CGI implementations).</description>
		<content:encoded><![CDATA[<p>Right, they put everything under a single value, which can then be an array (which btw, seems to be slightly unstandardized in many CGI implementations).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rick</title>
		<link>http://blog.webhooks.org/2009/06/14/convention-for-batching/#comment-154</link>
		<dc:creator>rick</dc:creator>
		<pubDate>Sun, 14 Jun 2009 19:27:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webhooks.org/?p=189#comment-154</guid>
		<description>Ruby frameworks fake arrays in POST vars with field names like event[0][name].  Kind of hackish, so I tend to prefer JSON as you suggested.</description>
		<content:encoded><![CDATA[<p>Ruby frameworks fake arrays in POST vars with field names like event[0][name].  Kind of hackish, so I tend to prefer JSON as you suggested.</p>
]]></content:encoded>
	</item>
</channel>
</rss>