Brussels / 3 & 4 February 2018

schedule

Networking deepdive

From net.Dial to gRPC


In this talk we'll discuss networking in Go. We start off with a review of the stdlib net package and its sub-packages and then walk through common use cases, patterns and challenges. In the second part we focus on best practices using the stdlib and community-provided frameworks such as gorilla/websocket and gRPC.

In this talk we'll discuss networking in Go. The goal is to provide beginners with a comprehensive overview of what the stdlib offers as well as what packages outside of the stdlib exist that can be used for networking. More advanced users can benefit from networking best practices and guidance for implementing distributed systems.

The talk is has two parts:

Part 1: Basics

We start off with a review of the stdlib net package and its sub-packages, walk through common use cases, patterns and challenges:

  • Discussion of net and sub-packages (main types, interfaces, understanding what is available)
  • Socket-level programming
  • Timeouts, retries
  • Security
  • DNS

Part 2: Best practices and beyond stdlib

In the second part we focus on best practices using the stdlib and community-provided frameworks for networking:

  • Best practices writing networked applications
  • Review of non-stdlib packages useful for networking: golang.org/x/net/websocket, gorilla/websocket, gRPC

Speakers

Photo of Michael Hausenblas Michael Hausenblas

Links