エンジニアリンググループの山口 (@no_clock) です。 クラウド電子カルテ「エムスリーデジカル」のシステム水平分割(参考)を実施するにあたり、 HTTP リクエストを分割システム群にルーティングするリバースプロキシを実装しました。実装規模は Go 言語で 500 行ほど。既に本番環境で運用しています。 この記事は、その際のコードリーディング内容を整理したものです。なお、 エムスリー Advent Calendar 2020 2 日目の記事です。 前提: 標準ライブラリ net/http/httputil ReverseProxy と WebSocket プロトコル net/http/httputil パッケージの ReverseProxy WebSocket プロトコル 本編: コードリーディング l.244-l.272: リクエストの透過 l.295-l.301: レスポンスの透