Jack Bennett!

Principal Consultant - Improving, Columbus OH

Jack Bennett works as a Principal Consultant at Improving in Columbus, OH, serving clients in the area of of web and mobile application development and support. His favorite languages and technologies include Python, git, bash, emacs, and JavaScript. He has worked in a variety of industries including data storage, stock trading (including hedge funds, broker-dealers, and HFT), and SaaS, as both an individual contributor and manager. Jack received a Bachelor of Applied Science degree in Engineering Science from the University of Toronto, and a PhD in Electrical and Computer Engineering from Brown University.

"Did you get my message?" - A comparison of several modern messaging platforms

A programmer looking for a flexible messaging solution is faced with many questions and tradeoffs: What tool will offer the best performance? What will give the best flexibility and extensibility? Do I need a persistence layer or a cache? Depending on the specific application area and the structure of the data being transmitted, the requirements will be different: for example, an electronic options trading engine has different needs from a SaaS web application. This talk will compare a variety of contemporary messaging solutions and the benefits and tradeoffs involved: - Kafka offers a persistent datastore and a clustering solution based on a "pub-sub" (publish-subscribe) architecture; - RabbitMQ is a message broker that implements the Advanced Message Queueing Protocol; - ZeroMQ implements a brokerless architecture that provides a socket-like abstraction to enable a variety of possible message distribution patterns. And finally: what do you gain and what do you lose from rolling your own simple messaging solution? Under what circumstances is the DIY approach the best one? This talk offers a fast tour through a variety of messaging technologies and compares the pros and cons of each technology. Examples are shown in Python to favor simplicity and brevity of presentation over implementation details.

2:15 PM