# chat-server **Repository Path**: Mzlalal/chat-server ## Basic Information - **Project Name**: chat-server - **Description**: 简单聊天系统 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-10 - **Last Updated**: 2021-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # chat-server #### 介绍 一个简单的聊天系统 当前实现的功能如下: - 支持匿名聊天 #### 软件架构 软件架构说明 1. web框架基于springboot 2.1.8 2. 使用redis作为匿名消息缓存中间件 3. 采用kafka zookeeper消息队列进行消息接收-发送的削峰,解耦 通过监听消息的topic进行消息的存储,发送等其他操作 zookeeper在后置中会作为分布式锁出现 4. 使用netty - socket io作为websocket的开发,主要是其特点可HTTP,可升级等 5. 对外发布时需要使用nginx进行端口合并,因为websocket端口可以使用socketio前缀进行匹配 #### 启动项目 1. 下载并导入项目,下载依赖的jar包 2. 下载redis 并启动,如需要配置redis端口,请参考spring-redis配置 3. 下载zookeeper并启动 4. 下载kafka并启动,kafka需要连接zookeeper使用 5. 配置websocket端口,默认为6366,如需要更改,参考netty.socket配置 6. 启动项目 #### 对外发布 1. 下载nginx并安装 2. 配置匹配前缀/socketio/进行转发到本地websocket端口localhost:port