Saeipi Lark Save Abandoned

Go语言IM服务端

Project README

lark

Golang聊天服务端

技术选型及开发环境

序号 技术 版本 说明 官网
1 Go 1.18.3 开发语言 https://go.dev/
2 Mysql 8.0.29 关系型数据库 https://www.mysql.com/
3 MongoDB 5.0.9 NoSql数据库 https://www.mongodb.com
4 Elasticsearch 7.17.6 搜索和分析引擎 https://www.elastic.co/cn/elasticsearch/
5 Redis 6.2.7 KV 数据库 https://redis.io/
6 Kafka 3.0.2 消息队列 https://kafka.apache.org/
7 Docker 20.10.17 应用容器引擎 https://www.docker.com
8 MinIO 2022.9.25 对象存储 https://min.io/
9 Nginx 1.23.1 静态资源服务器 https://www.nginx.com/
10 JWT v4.4.2 JWT登录支持 https://github.com/golang-jwt/jwt
11 Validator v10.11.0 验证框架 https://github.com/go-playground/validator
12 Jaeger all-in-one:1.37 链路追踪 https://www.jaegertracing.io
13 Prometheus 2.36.2 系统监控和报警系统 https://prometheus.io/
14 Grafana 8.2.6 指标数据的可视化展现 https://grafana.com/
15 ETCD 3.5 服务发现 https://etcd.io/
16 Kibana 7.17.6 数据分析和可视化平台 https://www.elastic.co/cn/kibana/
17 Logstash 7.17.6 数据收集引擎 https://www.elastic.co/cn/logstash/
18 Filebeat 7.17.6 日志采集器 https://www.elastic.co/cn/beats/filebeat
19 Apache Flink 1.14.6-scala_2.11-java8 通用数据处理平台 https://ververica.github.io/flink-cdc-connectors/
20 Mycat 2.1.21 数据库中间件 http://mycatone.top/
21 Gin v1.8.1 Web 框架 https://github.com/gin-gonic/gin
22 gRpc v1.49.0 远程过程调用系统 https://pkg.go.dev/google.golang.org/grpc
23 GORM v1.23.8 ORM https://gorm.io/

单机部署性能测试

测试用例1

测试时间: 2022-10-23

测试主机: i7 8700K/16G

系统: macOS 10.15.7

群人数: 10,000

在线人数: 1,000

发送消息量: 500

消息转发量: 500,000

总耗时: 4.5秒左右

测试用例2

测试时间: 2022-10-15

测试主机: i7 8700K/16G

系统: macOS 10.15.7

群人数: 10,000

在线人数: 10,000

发送消息量: 1

消息转发量: 10,000

总耗时: 120毫秒左右

测试用例3(水平部署3台消息网关)

测试时间: 2022-10-23

测试主机: i7 8700K/16G

系统: macOS 10.15.7

群人数: 10,000

在线人数: 10,000

发送消息量: 1

消息转发量: 10,000

总耗时: 95毫秒左右

测试用例4(水平部署3台消息网关)

测试时间: 2022-10-23

测试主机: i7 8700K/16G

系统: macOS 10.15.7

群人数: 10,000

在线人数: 3,000

发送消息量: 500

消息转发量: 1,500,000

总耗时: 5.5秒左右

项目运行步骤

Step 1
创建日志文件目录
/var/log/lark

Step 2
创建docker容器数据卷目录
/Volumes/data/lark

Step 3
修改host文件
lark/configs/docker/host.txt

Step 4
执行build脚本
./lark/scripts/build.sh

Step 5
执行容器启动脚本
./lark/build/run/docker-up.sh

Step 6
http://127.0.0.1:9001/identity/account/new-account
Minio Create Service Account
Access Key: SEv0QKlwqQ36M1eV
Secret Key: sZVZR1RD8Pcy73NANvk6vbMmoDsGSSOk

Create Buckets And Change Access Policy
["documents","photos","videos"]
Access Policy: Public

Step 7
执行项目启动脚本
./lark/build/run/run_all.sh

Open Source Agenda is not affiliated with "Saeipi Lark" Project. README Source: saeipi/lark
Stars
144
Open Issues
0
Last Commit
1 year ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating