こんにちは、@p1assです。 先日、レイヤーアーキテクチャを採用している Web API サーバに WebSocket を組み込むことになったのですが、コネクションの管理やどのレイヤーで各機能を管理するか悩んだのでブログにまとめておきます。 使用している言語は Go で、Web フレームワークは echo です。 WebSocket 実装前の API サーバの構成 WebSocket を実装する前の API サーバのディレクトリ構成は次のようになっていました。(ブログ用に調整を加えてます。) . ├── database # repository のインターフェースを満たす実体 ├── domain │ ├── entity │ └── repository │ └── service ├── main.go ├── usecase └── web ├── handler └── rou