Skip to content

liyangbing/api-service

 
 

Repository files navigation

im-services

OSCS Status

实现

集群
  • 基于redis存储用户服务节点 实现了简易版集群(节点消息依靠Grpc传输消息)
消息
  • Ws消息投递、Api消息投递、Grpc消息投递。以及自定义消息
  • Nsq生产池、消费者离线消息
项目结构
├── cmd // cli 命令工具
|─ internal //应用核心
│   ├── api //接口
│   │   ├── controllers // Api控制器
│   │   ├── requests  // 接口请求校验
│   │   └── services //封装服务层
│   ├── config //配置文件
│   ├── dao //数据层
│   ├── enum    //枚举
│   ├── helpers //辅助函数
│   ├── middleware //中间件
│   ├── models // 数据库模型
│   ├── router // 路由
│   └── service // 网络层 核心逻辑层
│       ├── bootstrap // 启动服务
│       ├── cache // 缓存逻辑
│       ├── client // ws客户端
│       ├── dao  // 数据层
│       ├── dispatch // 服务节点
│       ├── handler // 控制器
│       ├── message // ws消息处理
│       ├── queue // 消息中间件
│       └── tests // 测试文件
│   ├── cmd
├── config.yaml // 配置文件
├── config.yaml.test
├── docker // docker配置文件 应用环境
├── docs // 项目文档
├── go.mod
├── go.sum
├── main.go // 入口文件
├── pkg // 第三方包封装
├── server // grpc服务端和客户端
│   ├── client //客户端方法
│   ├── grpc //根据protos生成的文件
│   ├── protos //定义的protos
│   ├── run.go //启动grpc入口文件
│   └── server // 服务层方法
├── storage // 日志以及静态文件
│   └── logs 

About

基于go开发的高性能im服务端

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.8%
  • HTML 0.2%