Sitemap
Better Practices

For individual engineers to the largest teams, Better Practices is intended to distill knowledge from the Postman community. This is a place to learn about modern software practices together! Read more: https://medium.com/better-practices/introducing-better-practices-e9cf14cf0c88

How Postman Engineering handles a million concurrent connections

Joyce Lin
10 min readDec 22, 2020

--

Photo by Toni Reed on Unsplash

Development teams at Postman

the Server Foundation team is an example of a functional team at Postman that creates and manages stuff used across the entire engineering organization

The monolithic Sync service

Sync under pressure

“Stuff that goes unnoticed in smaller systems becomes inescapable in more complex systems.”
Kunal Nagpal, engineering manager at Postman

“This is the natural evolution of software design. Microservices start nimble, but they build up, and need to be broken back down. We wanted to separate socket handling from Sync because we were about to introduce a lot more functionality.”
-Yashish Dua, software engineer at Postman

some internal services grow too big requiring careful coordination across teams

Here is what happened

Step 1: We got organizational buy-in

Step 2: We identified the unknown unknowns

Step 3: We built the Bifrost websocket gateway

Bifrost is composed of two parts: a public gateway and a private API

Step 4: We tested the new gateway

Step 5: We migrated to the new gateway

“It’s like changing an engine on an aircraft in mid-flight.”
-Numaan Ashraf, director of engineering at Postman

Step 6: We scaled the service

The Bifrost architecture and tech stack

“Bifrost is our gateway for all websocket connections. It’s a proxy for all Postman clients, and responsible for handling low-level socket operations for internal Postman services.”
-Mudit Mehta, software engineer at Postman

the Bifrost gateway used AWS, Redis, and Fastify to handle websockets

“Simple components. Complex logic.”
-Kunal Nagpal, engineering manager at Postman

The journey is far from over

--

--

Better Practices
Better Practices

Published in Better Practices

For individual engineers to the largest teams, Better Practices is intended to distill knowledge from the Postman community. This is a place to learn about modern software practices together! Read more: https://medium.com/better-practices/introducing-better-practices-e9cf14cf0c88

Joyce Lin
Joyce Lin

Written by Joyce Lin

coding and cats in San Francisco

Responses (1)