GCS
A multi-server group chat system based on netty.
一个基于Java netty的多人聊天室。
- 自定义协议解决TCP沾包问题。
- 基于NIO IO多路复用,支持超高连接数。
- 服务端通过zookeeper进行服务注册,支持服务端拓展增加服务能力。
- 客户端通过自身信息hash决定与哪个主机建立netty长连接。
- 服务端宕机,客户端自动接入其他健康主机。
Getting Start
zookeeper部署
- 拉取zk镜像 指令:docker pull zookeeper:3.4.14
- 查看镜像id 指令:docker images
- 拉起容器 指令:docker run -d -p 2181:2181 --name b-zookeeper --restart always {imageId}
- 查看容器id 指令:docker ps -a
- 进入容器 指令:docker exec -it {containerId} /bin/bash
- 起注册中心 指令:./bin/zkCli.sh
客户端启动
v1: 注册中心ip:port 字符串 (zk集群则字符串之间用","连接即可)
v2: clientName 字符串
com.polyu.gcs.client.Client.start(v1, v2)
服务端启动
v1: 服务端ip:port 字符串
v2: 注册中心ip:port 字符串
com.polyu.gcs.server.Server.start(v1, v2)
Open Source Agenda is not affiliated with "Vincentbin GCS" Project. README Source:
vincentbin/GCS