Path-IM-Server

module
v1.0.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2022 License: Apache-2.0

README

Path-IM-Server

使用go-zero框架开发的IM服务器。 有高度定制IM需求的开发者,可以使用这个项目。

普通开发者可以在演示项目 基础上进行开发。

文档入口

优势

  • 使用go-zero微服务框架 开发更方便 自带链路追踪,p2c服务负载均衡,熔断限流,自适应降载等功能
  • 不依赖mysql所有业务逻辑均请求你自己的业务rpc接口 你只需实现rpc接口即可
  • 可以使用 cassandra 来替代 mongodb
  • 类似QQ群聊的读扩散模式 妈妈再也不用担心mongodb/cassandra写入性能问题了
  • 使用dart开发sdk, 使用flutter做客户端, 直接生成5端代码

开源组件依赖

  • mongodb or cassandra (离线消息存储 个人推荐cassandra)
  • kafka (消息队列)
  • redis (存储seq)
  • etcd (不依赖etcd)
  • mysql (不依赖mysql)

rancher 查看服务运行情况

  • 地址:rancher
  • 用户名:guest
  • 密码:guest

业务架构图

image1.svg

业务流程图

flow.svg

演示项目:Path-IM-Server (最好的文档就是demo)

使用 Path-IM-Server 开发一个 IM 应用

开发计划

其他

jaeger

jaeger.png

如果选择使用mongo或cassandra

  • 1、msg-transfer中只部署history-cassandra服务,或history-mongo服务
  • 2、msg-rpc配置文件HistoryDBType设置为cassandra/mongo

本项目设计思路源自Open-IM-Server

Directories

Path Synopsis
app
msg-gateway/cmd/wsrpc/internal/handler
Code generated by goctl.
Code generated by goctl.
msg-gateway/cmd/wsrpc/internal/types
Code generated by goctl.
Code generated by goctl.
common

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL