Go Conference 2021 Springに登壇しました

目次

はじめに

こんにちは、辻です。先日開催されました Go Conference 2021 spring にTIGから渋川、辻の計2名が登壇しました。

gopher忍者

The Gopher character is based on the Go mascot designed by Renée French.

Go Conference’20 in Autumnではオンラインとオフラインのハイブリッドな構成でしたが、今回はGo Conference史上初となるフルオンラインでの開催となりました。今回のカンファレンスでは事前録画したビデオによる発表もサポートされていました。またオンラインでのリアルタイム登壇にあたって、リハーサルを始め手厚いサポートをいただき、安心して発表できました。運営の皆様、ありがとうございました!

実務で役立つTCPクライアントの作り方

発表資料は以下です。

発表内容は、TCPクライアントを実装するときの考慮点をまとめたものです。普段HTTPなどを用いて通信するときはGoの標準ライブラリである net/http パッケージのAPIを使います。自前で net パッケージを使ってTCPクライアントを実装する必要はありません。しかし標準ライブラリではサポートされていないTCP上の独自のプロトコルで通信する必要がある場合や、通信したいプロトコルがOSSとして公開されているライブラリでは不足がある場合などは、自前でTCPクライアントを実装する必要があります。Go Conferenceの他のセッションでも、金融系のプロトコルであるISO8583をTCPで扱っている例が紹介されており、実は身近なところで独自のTCPクライアントが必要になるかもしれません。

Goでは net パッケージを使うと簡単にTCPクライアントを実装できますが、プロダクションレディなTCPクライアントに仕上げていくにはいくつか考慮点があります。

  • タイムアウト
  • コネクションプーリング
  • エラーハンドリング
  • リトライ

といったポイントを紹介しています。

セッションを見ていただいた皆様、Twitterでコメントくださった皆様、ありがとうございました!