littlebot
Published on 2025-04-02 / 0 Visits
0

【源码】基于Netty和Spring Boot的即时消息系统

项目简介

本项目是基于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】