Github项目

woodylan/go-websocket:基于Golang的分布式WebSocket服务

woodylan/go - websocket项目基于Golang、ETCD、RPC实现分布式WebSocket微服务,可单机或分布式部署。分布式部署支持nginx负载均衡等。功能包括多种消息发送、上下线通知等,适用...

标签:

【Github】项目名:woodylan/go – websocket:基于Golang的分布式WebSocket服务

一、项目简介

该项目基于Golang、ETCD、RPC实现分布式WebSocket微服务,也可单机部署(单机部署不需要ETCD、RPC)。它支持分布式部署下的nginx负载均衡和水平扩容部署,程序间使用RPC通信。功能方面,它能用ws协议连接服务得到clientId,服务端可依据clientId向客户端发消息、绑定客户端到分组、向分组发消息、获取在线客户端、上下线自动通知等,适用于长连接场景。

二、项目下载与执行

可以下载已经打包好的项目,支持Linux、Windows、MacOS环境:https://github.com/woodylan/go – websocket/releases。也能自己编译,如git clone https://github.com/woodylan/go – websocket.git后,按照不同的系统需求编译(如编译适用于本机的版本:go build;编译Linux版本:CGO_ENABLED = 0 GOOS = linux GOARCH = amd64 go build等),编译成功得到二进制文件go – websocket后执行即可。

三、连接测试与项目体验

连接测试可打开支持Websocket的客户端,输入ws://127.0.0.1:7800/ws?systemId = xxx进行连接,成功会返回clientId。单机构建镜像体验:docker build – t go – websocket.,基于镜像运行容器:docker run – tid – p7800:7800 go – websocket;体验集群则在当前目录下直接运行docker – compose up即可。

四、项目配置

配置文件位于项目根目录的conf/app.ini,其中包含如[common]中的HttpPort、RPCPort、是否集群、对称加密key等设置,[etcd]中的Endpoints设置等。运行项目时在不同机器要注意配置端口号,同一机器要用不同端口,还可以用supervisor做进程管理。并且给出了配置Nginx负载均衡的示例。

五、项目功能总结

项目实现了分布式账户授权模式、不同业务系统隔离、发送给指定客户端、发送给指定分组、上下线通知、群广播、错误日志、参数校验、关闭某个连接、支持docker、查询某个客户端是否在线等功能。欢迎大家在QQ群1028314856进行沟通交流。期待大家留言讨论这个项目。

项目地址

GitHub链接直达

数据统计

数据评估

woodylan/go-websocket:基于Golang的分布式WebSocket服务浏览人数已经达到7,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:woodylan/go-websocket:基于Golang的分布式WebSocket服务的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找woodylan/go-websocket:基于Golang的分布式WebSocket服务的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于woodylan/go-websocket:基于Golang的分布式WebSocket服务特别声明

本站链氪巴士提供的woodylan/go-websocket:基于Golang的分布式WebSocket服务都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。

相关导航

暂无评论

暂无评论...