with Tobias Oberstein and Alexander Gödde


March 18th, 2017

52 mins 47 secs

Your Hosts

About this Episode


As our system architectures and the Internet of Things continue to push us towards distributed logic we need a way to route the traffic between those various components. is the original implementation of the Web Application Messaging Protocol (WAMP) which combines Remote Procedure Calls (RPC) with Publish/Subscribe (PubSub) communication patterns into a single communication layer. In this episode Tobias Oberstein describes the use cases and design patterns that become possible when you have event-based RPC in a high-throughput and low-latency system.


  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.
  • When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.
  • Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.
  • To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers
  • Your host as usual is Tobias Macey and today I’m interviewing Tobias Oberstein and Alexander Gödde about, a high throughput asynchronous router for the WAMP protocol


  • Introductions
  • How did you get introduced to Python?
  • What is Crossbar and what is the problem that you were trying to solve when you created it?
  • What is the status of the IETF WAMP protocol proposal?
  • Why have an open protocol – and how do you see the ecosystem?
  • Python isn’t typically considered to be a high-performance language so what led you to use it for building Crossbar?
  • How is Crossbar architected for proxying requests from a highly distributed set of clients with low latency and high throughput?
  • How do you handle authorization between the various clients of the router so that potentially sensitive messages don’t get published to the wrong component?
  • Does Crossbar encapsulate any business logic or is that all pushed to the edges of the system?
  • What are some of the typical kinds of applications that Crossbar is designed for?
  • What are some common design paradigms that would be better suited for a WAMP implementation?
  • What are some of the most interesting or surprising uses of Crossbar that you have seen?
  • What do you have planned for the future of Crossbar?

Keep In Touch



The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA