Skip to content
This repository has been archived by the owner on Mar 14, 2024. It is now read-only.

IM-Tools/go-im

Repository files navigation

GO-IM



旧版本停止维护⚠️ 新版本地址:https://github.com/IM-Tools/Im-Services

这是一个由golang编写的高性能IM服务器 📦📦📦

支持以下功能

  • 支持账号密码、微博登录
  • 单聊消息、群聊消息、离线消息同步
  • 支持单机部署、集群部署
  • 多设备登录
  • 客户端:web端、桌面应用

一些库的使用。

  • 支持cors跨域
  • 集成mysql、redis、协程池
  • jwt签名认证
  • zap日志收集
  • viper配置文件解析
  • swag接口文档生成
  • rabbitmq存储离线消息
  • 集群服务使用grpc向不同服务节点投递消息

架构梳理

安装使用

安装redis

docker pull redis

docker run -p 6379:6379 --name redis
-v /data/redis/redis.conf:/etc/redis/redis.conf
-v /data/redis/data:/data
-d redis redis-server /etc/redis/redis.conf --appendonly yes

安装mysql

docker pull mysql
docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:latest

安装rabbitmq

docker pull rabbitmq
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq

安装项目

git close https://github.com/IM-Tools/go-im.git
cd go-im

配置.env 调整.env文件配置

cp .env.example .env

启动

go run main.go

桌面端

软图 软图 软图

web登录 效果图

golang+vue3开发的一个im应用

golang+vue3开发的一个im应用

golang+vue3开发的一个im应用

golang+vue3开发的一个im应用

学习交流

QQ:2540463097