悟空IM开源项目使用教程

1. 项目介绍

悟空IM是一个开源的高性能通用通讯服务项目,支持即时通讯、站内/系统消息、消息中台、物联网通讯、音视频信令、直播弹幕、客服系统、AI通讯、即时社区等多种场景。该项目基于Go语言开发,具有去中心化设计,支持分布式Raft协议,并拥有自主研发的分布式数据库,无需依赖第三方中间件,易于部署和使用。

2. 项目快速启动

环境要求

  • Go语言环境,版本需在1.20.0及以上
  • Docker环境(用于快速部署)

克隆项目

git clone https://github.com/WuKongIM/WuKongIM.git
cd WuKongIM

单机启动

go run main.go --config config/wk.yaml

分布式启动

启动第一个节点:

go run main.go --config ./exampleconfig/cluster1.yaml

启动第二个节点:

go run main.go --config ./exampleconfig/cluster2.yaml

启动第三个节点:

go run main.go --config ./exampleconfig/cluster3.yaml

Docker集群启动

cd docker/cluster
sudo docker-compose up -d

启动后,可以通过以下地址访问:

  • 后台管理系统:http://127.0.0.1:15300/web
  • 聊天演示地址:http://127.0.0.1:15172/login

3. 应用案例和最佳实践

  • 案例展示:项目名 TangSengDaoDao,开源地址 [点击这里](https://github.com/TangSengDaoDao/TangSengDaoDaoServer)(注:实际文档中应去掉链接)

  • 最佳实践

    • 在部署前,确保已阅读并理解项目的官方文档。
    • 对于分布式部署,建议预先规划好节点配置,以便于后续的扩容和维护。
    • 在生产环境中,应配置合适的监控和报警机制,确保系统的稳定运行。

4. 典型生态项目

  • Android SDK:悟空IM的Android SDK,用于在Android应用中集成悟空IM服务。
  • iOS SDK:悟空IM的iOS SDK,用于在iOS应用中集成悟空IM服务。
  • Uniapp SDK:悟空IM的Uniapp SDK,适用于Uniapp开发。
  • JS SDK:悟空IM的JS SDK,适用于Web前端开发。
  • Flutter SDK:悟空IM的Flutter SDK,用于Flutter应用中集成悟空IM服务。
  • React Native Demo:由贡献者 wengqianshan 提供的React Native演示项目。
  • HarmonyOS SDK:悟空IM的纯血鸿蒙OS SDK,适用于HarmonyOS应用开发。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐