Crossbar.io with Tobias Oberstein and Alexander Gödde - Episode 101

March 18, 2017

Summary

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. Crossbar.io 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.

Do you want to try out some of the tools and applications that you heard about on Podcast.__init__? Do you have a side project that you want to share with the world? Check out Linode at linode.com/podcastinit or use the code podcastinit2019 and get a $20 credit to try out their fast and reliable Linux virtual servers. They’ve got lightning fast networking and SSD servers with plenty of power and storage to run whatever you want to experiment on.

Preface

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 linode.com/podcastinit 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 Crossbar.io, a high throughput asynchronous router for the WAMP protocol

Interview

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?