Building a Realtime Websocket API in Phoenix

Presenter: Jamie Wright

2:10 pm - 2:35 pm

elixir, phoenix, api, websocket

Sometimes consumers of your APIs require near-realtime communication as regular RESTful HTTP apis are a few milliseconds too slow. These performant and scalable APIs can be made over websocket TCP connections where events are pushed from client and server in near-realtime fashion.

This talk is a story of how I built such an API. We’ll look at why this decision to create a websocket API was made and we will take a look at the data that supported this decision. We will take a deep dive into Phoenix websockets, channels, and transports to expose the underlying architecture. Finally, we look at how we tested the API, how we authenticated users over the channels, and how Phoenix helped this all happen with relative ease.