An open API service indexing awesome lists of open source software.

https://github.com/cossteam/cossim-server

coss-im-server
https://github.com/cossteam/cossim-server

apisix ddd go golang grpc-go openapi3 socket-io

Last synced: 5 months ago
JSON representation

coss-im-server

Awesome Lists containing this project

README

          

coss-server
==============
`cossim/coss-server` 是用于支持coss-client的API服务。

---------------------------------------
* [特性](#特性)
* [服务](#服务)
* [结构](#结构)
* [快速启动](#快速启动)
* [配置](#配置)
* [文档](#文档)
* [更多](#更多)

---------------------------------------

## 特性
* 高性能
* 纯Golang实现
* 分布式服务架构(服务间通信使用grpc)
* DDD项目架构
* 支持动态扩缩服务实例与负载均衡
* 服务实例支持pprof调试和prometheus metrics(可接入prometheus和grafana实现可视化的服务监控)
* 支持服务动态注册发现和配置中心(基于consul)
* 实时+离线推送支持(SocketIO+RabbitMQ)
* 采用高性能API网关(apisix)
* 服务生命周期实现(manage)
* OSS对象存储(minio)
* 传输加密(openpgp)

---------------------------------------
## 服务
> coss-server 包含以下服务:

* user: 👤用户服务,处理用户注册、登录等功能。
* group: 👬群组服务,管理用户之间的群组关系。
* push: ✈️消息推送服务,负责实时消息推送功能。
* msg: 📩消息服务,处理用户间消息的收发功能。
* live: ☎️通话服务,支持语音通话和视频通话功能。
* storage: 🗃存储服务,负责文件存储和管理。
* relation: 🧚‍关系服务,管理用户之间的社交关系。
* admin: 👷‍管理员服务,用于管理系统用户和权限。

---------------------------------------
## 结构
>项目相关目录介绍如下:
```
├── build #生成pgp公私钥
├── cmd #启动文件
├── deploy #配置
├── docs #接口文档
├── internal #服务代码
└── pkg #服务需要用到的公共工具包
```
---------------------------------------

## 快速启动
> 以下两种方式都需要安装docker-compose与docker
>
> ⚠️请先安装[coss-cli工具](https://github.com/cossim/coss-cli/releases)
>
> 有关cli工具更多的信息请[参阅](https://github.com/cossim/coss-cli)
### 源码启动
```
1.拉取最新代码
git clone https://github.com/cossim/coss-server
mv ./coss-cli-xxx coss-server/coss-cli
cd coss-server

2.生成配置文件
chmod a+x coss-cli
coss-cli gen --path ./deploy/docker/

3.启动必需中间件
docker-compose -f deploy/docker/docker-compose.base.yaml up -d

4.启动服务
这里只拿user举例
go run ./cmd/user/main.go -config deploy/docker/config/service/user.yaml
```
### cli工具启动
> ⚠️请先安装[coss-cli工具](https://github.com/cossim/coss-cli/releases)
>
> ⚠️请注意:cli工具启动时,会自动生成配置文件在当前目录下,如有需要请创建文件夹
```
mkdir coss-server
cd coss-server
coss-cli start
```
---------------------------------------

## 配置
**config/common**
> 存放公共中间件配置文件

**config/pgp**
> 存放pgp公私钥

**config/service**
> 存放所有服务配置文件

---------------------------------------
## 文档
TODO

## 更多
TODO