logo
0
0
WeChat Login
feat(examples): add websocket balancer tunnel demo

示例

本目录提供多个独立示例工程,均使用各自的 go.mod,避免污染根模块依赖图。

目录

  • gorilla-nethttpgorilla/websocket + net/http upgrade 示例
  • coder-websocketcoder/websocket 官方 NetConn 桥接示例
  • balancer-gateway:零额外依赖的多节点 gateway / drain / 调权 / metadata 路由示例
  • gorilla-balancer-gateway:多节点通过 WebSocket tunnel 接入 gateway,再由 balancer.Pool 调度的完整示例

运行前提

  • Go 1.23+
  • 本地可用回环地址 127.0.0.1

快速体验

gorilla-nethttp

cd examples/gorilla-nethttp go run ./cmd/server # 新终端 go run ./cmd/client

coder-websocket

cd examples/coder-websocket go run ./cmd/server # 新终端 go run ./cmd/client

balancer-gateway

cd examples/balancer-gateway go run ./cmd/node -id node-a -listen 127.0.0.1:19091 # 新终端 go run ./cmd/node -id node-b -listen 127.0.0.1:19092 -zone ap-beijing # 新终端 go run ./cmd/gateway \ -node 'node-a@127.0.0.1:19091,zone=ap-shanghai,version=v1,weight=2,max=4' \ -node 'node-b@127.0.0.1:19092,zone=ap-beijing,version=v1,weight=1,max=2'

gorilla-balancer-gateway

cd examples/gorilla-balancer-gateway go run ./cmd/gateway # 新终端 go run ./cmd/node -id node-a -zone ap-shanghai -version v1 -weight 2 # 新终端 go run ./cmd/node -id node-b -zone ap-beijing -version v1 -weight 1 -delay 500ms

运行说明

每个示例都可以独立运行。进入示例目录后运行:

go run ./...

具体命令请参考各示例的 README.md 文件。