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

【源码】基于Go语言的高性能分布式即时通信系统

项目简介

这是一个基于Go语言开发的高性能分布式即时通信系统,能够处理大规模的即时通信场景。

项目的主要特性和功能

  1. 高性能与分布式架构:采用分布式架构设计,具备高性能处理能力,可应对大规模即时通信场景。
  2. 多协议支持:支持 TCP 和 WebSocket 协议,满足不同场景下的通信需求。
  3. 身份验证:实现了 JWT(JSON Web Token)的生成、解析和验证,用于用户身份验证。
  4. 数据存储:使用 Redis 进行会话信息的存储和获取,同时使用 MySQL 存储业务数据。
  5. 服务管理:借助 Consul 实现服务的注册、发现和管理,方便系统的扩展和维护。

安装使用步骤

环境准备

中间件安装

可选择以下两种方式启动所需中间件: - 方式一:通过 docker-compose 启动 sh docker-compose -f "docker-compose.yml" up -d --build - 方式二:docker 分别启动 sh docker run -itd --name aim_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql docker run \ -d \ -p 8500:8500 \ -p 8600:8600/udp \ --name=aim_consul \ consul agent -server -ui -node=server-1 -bootstrap-expect=1 -client=0.0.0.0 docker run -itd --name aim_redis -p 6379:6379 redis

数据准备

  1. 进入 Mysql,修改访问权限: sh docker exec -it aim_mysql /bin/sh mysql -uroot -p123456 GRANT ALL ON *.* TO 'root'@'%'; flush privileges;
  2. 创建数据库: sql create database aim_base default character set utf8mb4 collate utf8mb4_unicode_ci; create database aim_message default character set utf8mb4 collate utf8mb4_unicode_ci;

启动服务

进入 services 目录,分别启动三个服务: sh go run main.go gateway go run main.go server go run main.go royal

查看服务状态

访问 Consul 查看服务启动状态: http://localhost:8500/ui

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】