文件名称:dSock:分布式WebSocket代理
文件大小:102KB
文件格式:ZIP
更新时间:2024-04-07 23:48:39
go redis websocket distributed Go
袜子 dSock是分布式WebSocket代理(在Go中,使用Redis)。 客户端可以进行身份验证和连接,并且您可以将文本/二进制消息作为API发送。 特征 每个用户和身份验证有多个客户端 dSock可以向某个用户(由用户ID和可选的会话ID标识)或某个连接(由ID标识)的所有客户端广播消息。可以使用声明或JWT对用户进行身份验证(请参见下文)。 分散式 dSock使用Redis作为*数据库和pub / sub,并且客户端连接到worker,因此可以轻松扩展。它旨在使用Kubernetes或Cloud Run等可扩展平台在云上运行。 文本和二进制消息传递 dSock专为文本和二进制消息传递而设计,可启用JSON(UTF-8),协议缓冲区或任何自定义协议。 轻巧快速 dSock利用Go的并发性实现了大规模的高性能,易于分发和安全性。为了方便起见,它可以作为Docker映像使用。 断开
【文件预览】:
dSock-master
----worker()
--------send_handler.go(2KB)
--------state.go(2KB)
--------channel_handler.go(2KB)
--------config.toml(264B)
--------Dockerfile(634B)
--------resolve_connections.go(1KB)
--------authentication.go(3KB)
--------jwt.go(187B)
--------connect_handler.go(5KB)
--------main.go(6KB)
--------build()
----docs()
--------images()
--------releasing.md(451B)
----.github()
--------FUNDING.yml(16B)
--------workflows()
----api()
--------resolve_claims.go(1KB)
--------send_handler.go(3KB)
--------resolve_workers.go(4KB)
--------channel_handler.go(4KB)
--------config.toml(186B)
--------Dockerfile(622B)
--------send_to_workers.go(6KB)
--------info_handler.go(7KB)
--------main.go(3KB)
--------claim_handler.go(5KB)
--------disconnect_handler.go(3KB)
--------build()
----LICENSE(1KB)
----common()
--------resolve_options.go(183B)
--------errors_test.go(2KB)
--------utils_test.go(768B)
--------token_middleware.go(640B)
--------options.go(4KB)
--------errors.go(4KB)
--------requestid_middleware.go(212B)
--------constants.go(522B)
--------version.go(44B)
--------protos()
--------gin.go(376B)
--------utils.go(1KB)
--------ping_handler.go(116B)
----e2e()
--------disconnect_test.go(7KB)
--------test_utils_test.go(1KB)
--------connect_test.go(5KB)
--------Dockerfile(262B)
--------send_test.go(5KB)
--------api_utils_test.go(121B)
--------channel_test.go(6KB)
--------info_test.go(8KB)
--------README.md(763B)
----docker-compose.yml(503B)
----.gitignore(20B)
----CHANGELOG.md(3KB)
----protos()
--------message.proto(616B)
----docker-compose.e2e.yml(165B)
----go.sum(26KB)
----.dockerignore(45B)
----README.md(24KB)
----Taskfile.yml(3KB)
----go.mod(981B)