<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: messaging</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/messaging.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2018-09-01T01:41:30+00:00</updated><author><name>Simon Willison</name></author><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2018/Sep/1/tim-bray/#atom-tag" rel="alternate"/><published>2018-09-01T01:41:30+00:00</published><updated>2018-09-01T01:41:30+00:00</updated><id>https://simonwillison.net/2018/Sep/1/tim-bray/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.tbray.org/ongoing/When/201x/2018/08/30/Event-Structure"&gt;&lt;p&gt;When you’re pump­ing mes­sages around the In­ter­net be­tween het­ero­ge­neous code­bas­es built by peo­ple who don’t know each oth­er, shit is gonna hap­pen. That’s the whole ba­sis of the We­b: You can safe­ly ig­nore an HTTP head­er or HTML tag you don’t un­der­stand, and noth­ing break­s. It’s great be­cause it al­lows peo­ple to just try stuff out, and the use­ful stuff catch­es on while the bad ideas don’t break any­thing.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.tbray.org/ongoing/When/201x/2018/08/30/Event-Structure"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/messaging"&gt;messaging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web"&gt;web&lt;/a&gt;&lt;/p&gt;



</summary><category term="messaging"/><category term="tim-bray"/><category term="web"/></entry><entry><title>ZeroMQ: Modern and Fast Networking Stack</title><link href="https://simonwillison.net/2010/Sep/5/zeromq/#atom-tag" rel="alternate"/><published>2010-09-05T19:41:00+00:00</published><updated>2010-09-05T19:41:00+00:00</updated><id>https://simonwillison.net/2010/Sep/5/zeromq/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.igvita.com/2010/09/03/zeromq-modern-fast-networking-stack/"&gt;ZeroMQ: Modern and Fast Networking Stack&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I get ZeroMQ now. I was having trouble figuring out how it differed from things like RabbitMQ—it turns out it’s an entirely new low-level socket abstraction, designed to make common socket programming tasks like message sending/receiving and publish/subscribe a whole lot easier than dealing with raw BSD sockets.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/io"&gt;io&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/messaging"&gt;messaging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/networking"&gt;networking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sockets"&gt;sockets&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/zeromq"&gt;zeromq&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/recovered"&gt;recovered&lt;/a&gt;&lt;/p&gt;



</summary><category term="io"/><category term="messaging"/><category term="networking"/><category term="sockets"/><category term="zeromq"/><category term="recovered"/></entry><entry><title>simple-thrift-queue</title><link href="https://simonwillison.net/2008/Aug/4/thrift/#atom-tag" rel="alternate"/><published>2008-08-04T12:27:16+00:00</published><updated>2008-08-04T12:27:16+00:00</updated><id>https://simonwillison.net/2008/Aug/4/thrift/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://github.com/myelin/simple-thrift-queue/tree/master"&gt;simple-thrift-queue&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Phillip Pearson’s surprisingly concise in-memory message queue written in Python using Facebook’s Thrift library (which is similar to Protocol Buffers, but was open sourced much earlier on). Handles 4,000 requests per second on a laptop.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://www.myelin.co.nz/post/2008/8/4/"&gt;Queuing with Thrift&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/message-queues"&gt;message-queues&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/messaging"&gt;messaging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phillip-pearson"&gt;phillip-pearson&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/protocolbuffers"&gt;protocolbuffers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/thrift"&gt;thrift&lt;/a&gt;&lt;/p&gt;



</summary><category term="facebook"/><category term="message-queues"/><category term="messaging"/><category term="phillip-pearson"/><category term="protocolbuffers"/><category term="python"/><category term="thrift"/></entry><entry><title>ZeroMQ</title><link href="https://simonwillison.net/2008/Jul/27/zeromq/#atom-tag" rel="alternate"/><published>2008-07-27T16:57:23+00:00</published><updated>2008-07-27T16:57:23+00:00</updated><id>https://simonwillison.net/2008/Jul/27/zeromq/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.zeromq.org/"&gt;ZeroMQ&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Open source message queue optimised for performance: claims 25μsec latency and 2.6 million messages per second.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/message-queues"&gt;message-queues&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/messaging"&gt;messaging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/performance"&gt;performance&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/zeromq"&gt;zeromq&lt;/a&gt;&lt;/p&gt;



</summary><category term="message-queues"/><category term="messaging"/><category term="performance"/><category term="zeromq"/></entry><entry><title>RubyForge: Starling</title><link href="https://simonwillison.net/2008/Jan/11/rubyforge/#atom-tag" rel="alternate"/><published>2008-01-11T21:47:26+00:00</published><updated>2008-01-11T21:47:26+00:00</updated><id>https://simonwillison.net/2008/Jan/11/rubyforge/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://rubyforge.org/projects/starling/"&gt;RubyForge: Starling&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“Starling is a light-weight persistent queue server that speaks the MemCache protocol. It was built to drive Twitter’s backend, and is in production across Twitter’s cluster.”


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/blaine-cook"&gt;blaine-cook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/memcached"&gt;memcached&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/message-queues"&gt;message-queues&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/messaging"&gt;messaging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/queue"&gt;queue&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ruby"&gt;ruby&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rubyforge"&gt;rubyforge&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/starling"&gt;starling&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twitter"&gt;twitter&lt;/a&gt;&lt;/p&gt;



</summary><category term="blaine-cook"/><category term="memcached"/><category term="message-queues"/><category term="messaging"/><category term="queue"/><category term="ruby"/><category term="rubyforge"/><category term="starling"/><category term="twitter"/></entry><entry><title>stompserver</title><link href="https://simonwillison.net/2007/Dec/14/stompservers/#atom-tag" rel="alternate"/><published>2007-12-14T16:40:48+00:00</published><updated>2007-12-14T16:40:48+00:00</updated><id>https://simonwillison.net/2007/Dec/14/stompservers/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://stompserver.rubyforge.org/"&gt;stompserver&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I think this is the lightweight message queue I’ve been looking for: written in Ruby and EventMachine, easy to set up (thanks to gems), interoperates perfectly with stomp.py.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/eventmachine"&gt;eventmachine&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gems"&gt;gems&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/lightweight"&gt;lightweight&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/message-queues"&gt;message-queues&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/messaging"&gt;messaging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ruby"&gt;ruby&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/stomp"&gt;stomp&lt;/a&gt;&lt;/p&gt;



</summary><category term="eventmachine"/><category term="gems"/><category term="lightweight"/><category term="message-queues"/><category term="messaging"/><category term="python"/><category term="ruby"/><category term="stomp"/></entry><entry><title>stomp.py</title><link href="https://simonwillison.net/2007/Aug/1/stomp/#atom-tag" rel="alternate"/><published>2007-08-01T13:50:32+00:00</published><updated>2007-08-01T13:50:32+00:00</updated><id>https://simonwillison.net/2007/Aug/1/stomp/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.briggs.net.nz/log/projects/stomppy/"&gt;stomp.py&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A Python client library for accessing ActiveMQ using the STOMP protocol. Pleasantly simple API for both sending and accepting messages.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/activemq"&gt;activemq&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/messaging"&gt;messaging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/stomp"&gt;stomp&lt;/a&gt;&lt;/p&gt;



</summary><category term="activemq"/><category term="messaging"/><category term="python"/><category term="stomp"/></entry></feed>