项目简介
本项目是基于Netty和Spring Boot框架构建的即时消息系统(IM),能提供高效、可靠的实时消息传输服务。系统可处理多种消息类型,如登录、确认、历史消息等,借助Kafka进行消息转发,用Redis存储登录信息和会话,保证消息持久化和快速访问。同时,集成Eureka实现服务注册与发现,达成高可用和负载均衡。
项目的主要特性和功能
- 消息协议:运用Google Protobuf协议,实现消息的高效传输与解析。
- 服务注册与发现:利用Zookeeper和Eureka完成服务端注册和客户端的负载均衡连接。
- 消息处理:支持登录、确认、历史消息等多种消息类型,可直接将消息发送到Kafka进行转发。
- 消息存储:采用Redis存储登录token、会话信息和持久化消息内容,确保数据快速访问和持久化。
- 加密传输:数据消息采用DES加密,保障消息传输安全。
- 扩展性:可改造成实时消息推送系统,适用于手机消息推送、IOT消息推送等场景。
安装使用步骤
环境准备
- JDK 1.8
- Netty 4.1.49.Final
- Spring Boot 2.2.7.RELEASE
- Spring Cloud Hoxton.SR5
- Netflix Eureka
- Zookeeper
- Kafka
- Redis
- MySQL
- Protobuf
- MyBatis
项目构建
- 进入项目目录:
cd friday-im
- 使用Maven构建项目:
mvn clean install
配置文件
根据实际环境配置application.yml
文件中的数据库、Redis、Kafka、Zookeeper等连接信息。
启动服务
- 启动Eureka服务:
java -jar friday-im-eurake/target/friday-im-eurake.jar
- 启动IM服务端:
java -jar friday-im-server/target/friday-im-server.jar
- 启动IM客户端:
java -jar friday-im-client/target/friday-im-client.jar
测试与使用
- 使用客户端程序获取token和serverinfo进行登录和消息发送。
- 通过Kafka和Redis监控消息的传输和存储情况。
按照以上步骤,可快速搭建并运行本即时消息系统,实现高效的实时消息传输服务。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】