Building Proxies with GO and gRPC

By Sandro Mello

Elevator Pitch

In this talk I’ll explain patterns of how to build proxies over bi-directional gRPC connections with GO. Demonstrating how you could structure an application that allows intercepting and managing packets of protocols like MySQL, Postgres, HTTP and Terminals.


I’ll showcase a demo application and explain how to build proxies over multiple protocols. Explaining how to manipulate and mutate transit packets; Explaining basic concepts of how to deal with database protocols; Building middleware patterns to manipulate protocol packets; Using gRPC bi-directional feature as a wrapper to forward packets between external services and clients.


I’ve been working for almost 2 years building systems to solve access management to internal services in a secure way. This talk is based in the core architecture of the main product that I’ve been developing for that time.