Principal Consultant - Improving, Columbus OH
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.