{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreihyure2ugewjx6gzdhhsdab74v7jrujnv6gk45kwxhadfxt34onpm",
"uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mpadxtqajmt2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreiccbry4gpknlkmks2iov3jvzfgzswctgcuha665xajdkglb2q4fbm"
},
"mimeType": "image/webp",
"size": 75184
},
"path": "/nelthaarion/i-wanted-a-go-networking-engine-that-gets-out-of-the-way-so-i-built-one-breeze-3jc",
"publishedAt": "2026-06-27T00:49:42.000Z",
"site": "https://dev.to",
"tags": [
"go",
"networking",
"performance",
"showdev",
"https://github.com/nelthaarion/breeze",
"https://nelthaarion.github.io/breeze"
],
"textContent": "Over the past few months, I've been working on Breeze, a networking engine built on top of gnet.\n\nThe goal wasn't to create \"another web framework.\"\n\nThe goal was to explore how far an event-loop architecture can go for modern Go services.\n\nSome design decisions I made:\n\nโก Event-loop driven architecture\n๐ Native HTTP and WebSocket support\n๐ WebSocket fast-path (avoids the HTTP router after the upgrade)\n๐งต Worker pool to keep the event loop responsive\n๐ฆ Low-allocation request handling\n๐ Built-in Swagger support\n๐ Built-in WebSocket Hub for real-time applications\n\nOne design choice I'm particularly interested in discussing is that HTTP and WebSocket aren't treated the same.\n\nEvery incoming connection is classified inside the event loop. HTTP requests follow the router, while upgraded WebSocket connections are dispatched directly to the WebSocket engine. It keeps the hot path small and avoids unnecessary work once the protocol is established.\n\nThe project is still evolving, and I'm deliberately questioning every architectural decision before calling it \"production ready.\"\n\nI'd genuinely appreciate feedback from developers who have experience with:\n\nHigh-concurrency Go servers\ngnet or event-loop architectures\nLarge-scale WebSocket systems\nLow-latency backend services\n\nRepository:\nhttps://github.com/nelthaarion/breeze\nDocumentation:\nhttps://nelthaarion.github.io/breeze\n\nI'm especially interested in hearing what you would change. Architecture discussions are often more valuable than benchmark numbers.\n\nHappy to answer any questions or dive into implementation details. ๐",
"title": "I wanted a Go networking engine that gets out of the way, so I built one (Breeze)."
}