<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Laughing Meme &#187; messaging</title>
	<atom:link href="http://laughingmeme.org/tag/messaging/feed/" rel="self" type="application/rss+xml" />
	<link>http://laughingmeme.org</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 29 Jan 2012 21:54:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Bill de hÓra:  Non-Newtonian readings</title>
		<link>http://laughingmeme.org/2008/08/08/bill-de-hora-non-newtonian-readings/</link>
		<comments>http://laughingmeme.org/2008/08/08/bill-de-hora-non-newtonian-readings/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 15:00:52 +0000</pubDate>
		<dc:creator>Kellan</dc:creator>
				<category><![CDATA[Aside]]></category>
		<category><![CDATA[arrest]]></category>
		<category><![CDATA[beyond rest]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[data streams]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://laughingmeme.org/?p=3951</guid>
		<description><![CDATA[&#8220;If you enjoyed Kellan Elliott-McCrea and Evan Henshaw-Plath&#8217;s presentation &#8220;Beyond REST? Building data services with XMPP&#8221;, here&#8217;s a dose of links.&#8221; Excellent list.]]></description>
			<content:encoded><![CDATA[<p><em>&#8220;If you enjoyed Kellan Elliott-McCrea and Evan Henshaw-Plath&#8217;s presentation &#8220;Beyond REST? Building data services with XMPP&#8221;, here&#8217;s a dose of links.&#8221;</em>  Excellent list.</p>
<p><a href='http://www.dehora.net/journal/2008/08/08/non-newtonian-reading/'>http://www.dehora.net/journal/2008/08/08/non-newtonian-reading/</a></p>]]></content:encoded>
			<wfw:commentRss>http://laughingmeme.org/2008/08/08/bill-de-hora-non-newtonian-readings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Couple of Caveats on Queuing</title>
		<link>http://laughingmeme.org/2008/07/07/a-couple-of-caveats-on-queuing/</link>
		<comments>http://laughingmeme.org/2008/07/07/a-couple-of-caveats-on-queuing/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 18:02:49 +0000</pubDate>
		<dc:creator>Kellan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[queue]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://laughingmeme.org/?p=3913</guid>
		<description><![CDATA[Les&#8217; &#8220;Delight Everyone&#8221; post is latest greatest addition to the 17th letter of the alphabet for savior conversation. And believe me I&#8217;m a huge fan, and am busy carving out a night sometime this week to play with the RabbitMQ/XMPP bridge (/waves hi Alexis). But &#8230;. there are a couple of caveats: 1) Some writes [...]]]></description>
			<content:encoded><![CDATA[<p>Les&#8217; <a href="http://decafbad.com/blog/2008/07/04/queue-everything-and-delight-everyone">&#8220;Delight Everyone&#8221;</a> post is latest greatest addition to the <a href="http://randomfoo.net/blog/id/4182">17th letter of the alphabet for savior</a> conversation.</p>

<p>And believe me I&#8217;m a huge fan, and am busy carving out a night sometime this week to play with the <a href="http://www.lshift.net/blog/2008/07/01/rabbitmq-xmpp-gateway-released">RabbitMQ/XMPP bridge</a> (/waves <a href="http://del.icio.us/alexisrichardson">hi Alexis</a>).</p>

<p><strong>But</strong> &#8230;. there are a couple of caveats:</p>

<h3>1) Some writes need to be real time.</h3>

<p>Les notes this as well, but I just wanted to emphasize because really, they do.  </p>

<p>If you can&#8217;t see your changes take effect in a system your understanding of cause and effect breaks down.  It doesn&#8217;t matter that your understanding is <em>wrong</em>, you still need one to function.  Ideally a physical analogy too.  There are no real world effects that get queued for later application.   Violate the principle of (falsely) seeming to respect real world cause and effect and your users will remain forever confused.</p>

<p>del.icio.us showing you the wrong state when you use the inline editing tool, and Flickr taking a handful of seconds to index a newly tagged photo are both good examples of subtly broken interfaces that can really throw people.</p>

<p>My data, now real time.  Everyone else can wait (how long depends on how social your users are).</p>

<h3>2) You&#8217;ve got to process that queue eventually.</h3>

<p>Ideally you can add processing boxes in parallel forever but if your dequeuing rate falls below your queuing rate you are, in technical terms, screwed.  </p>

<p>Think about it, if you&#8217;re falling behind 1 event per second, processing 1,000,000 events a second, but adding 1,000,001 for example, at the end of the day your 86,400 events in debt and counting.  It&#8217;s likes losing money on individual sales, but trying to make it up in volume.  </p>

<p>Good news: <a href="http://radar.oreilly.com/archives/2008/06/the-new-internet-traffic-spike.html">Traffic is spiky</a> and most sites see daily cycles with quiet times.  </p>

<p>Bad news: Many highly tuned systems exhibit slow down properties as their backlogs increase.  Like a credit card, processing debt can get exponentially unmanageable. </p>

<p>In practice this means that most of the time your queue consumers should be sitting around bored. (see Allspaw&#8217;s <a href="http://www.slideshare.net/jallspaw/velocity2008-capacity-management1-484676">Capacity Planning slides</a> for more on that theme.)</p>

<p>If you can&#8217;t guarantee those real time writes for thems that cares, and mostly bored queue consumers the rest of the time then your queues might not delight you after all.</p>

<p>See also: <a href="http://laughingmeme.org/2008/05/28/twitter-or-architecture-will-not-save-you/">Twitter, or Architecture Will Not Save You</a></p>
]]></content:encoded>
			<wfw:commentRss>http://laughingmeme.org/2008/07/07/a-couple-of-caveats-on-queuing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quiet Saturday Thoughts</title>
		<link>http://laughingmeme.org/2008/04/05/quiet-saturday-thoughts/</link>
		<comments>http://laughingmeme.org/2008/04/05/quiet-saturday-thoughts/#comments</comments>
		<pubDate>Sun, 06 Apr 2008 02:12:33 +0000</pubDate>
		<dc:creator>Kellan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[beyond lamp]]></category>
		<category><![CDATA[big table]]></category>
		<category><![CDATA[fluffy clouds]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://laughingmeme.org/2008/04/05/quiet-saturday-thoughts/</guid>
		<description><![CDATA[Thinking again about distributed log oriented writes as a better architecture for a whole class of persistent data we need to deal with. Atomic appends are actually one of the least appreciated features in GFS, and certainly the most critical feature HDFS is missing. Right now I&#8217;m not even sure I&#8217;m supposed to be worrying, [...]]]></description>
			<content:encoded><![CDATA[<p>Thinking again about distributed log oriented writes as a better architecture for a whole class of persistent data we need to deal with.  Atomic appends are actually one of the least appreciated features in GFS, and certainly the most critical feature <a href="http://hadoop.apache.org/core/docs/current/hdfs_design.html">HDFS</a> is missing.  Right now I&#8217;m not even sure I&#8217;m supposed to be worrying, my back of the napkins are saying maybe 10-20mil daily appends across 3-4mil queues is just like running a big mail install right?  (remind me to look at <a href="http://cr.yp.to/proto/maildir.html">Maildir</a> again)</p>

<p>Also contrary to <a href="http://www.techcrunch.com/2008/04/04/source-google-to-launch-bigtable-as-web-service/">TC&#8217;s breathy article</a> <a href="http://labs.google.com/papers/bigtable.html">BigTable</a> is not much like <a href="http://www.amazon.com/b?ie=UTF8&amp;node=342335011">SimpleDB</a> (other then they&#8217;re both ways of storing and retrieving data which aren&#8217;t MySQL) in that it doesn&#8217;t give you querying, just limited range scans on rows, and it seems to be really really expensive to add new columns (at least whenever I talk to Gengineers, they seem to flinch at the concept)</p>

<p>Meanwhile I&#8217;m still waiting on <a href="http://www.amazon.com/b?ie=UTF8&amp;node=342429011">DevPay</a> for SimpleDB, before I get into it in a big big way.</p>
]]></content:encoded>
			<wfw:commentRss>http://laughingmeme.org/2008/04/05/quiet-saturday-thoughts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blaine: Slides for Scaling Twitter talk</title>
		<link>http://laughingmeme.org/2007/04/27/blaine-slides-for-scaling-twitter-talk/</link>
		<comments>http://laughingmeme.org/2007/04/27/blaine-slides-for-scaling-twitter-talk/#comments</comments>
		<pubDate>Fri, 27 Apr 2007 17:08:14 +0000</pubDate>
		<dc:creator>Kellan</dc:creator>
				<category><![CDATA[Aside]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[memcache]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[twitterversy]]></category>

		<guid isPermaLink="false">http://laughingmeme.org/2007/04/27/blaine-slides-for-scaling-twitter-talk/</guid>
		<description><![CDATA[Blaine&#8217;s beautiful scaling Twitter slides. Final chapter in the Rails-vs-Twitter-versy? (And congrats Blaine on becoming a Rails committer!)]]></description>
			<content:encoded><![CDATA[<p>Blaine&#8217;s beautiful scaling Twitter slides.  Final chapter in the Rails-vs-Twitter-versy? (And congrats Blaine on becoming a Rails committer!)</p>
<p><a href='http://www.slideshare.net/Blaine/scaling-twitter/'>http://www.slideshare.net/Blaine/scaling-twitter/</a></p>]]></content:encoded>
			<wfw:commentRss>http://laughingmeme.org/2007/04/27/blaine-slides-for-scaling-twitter-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

