Skip to content
/ lark Public

Lark是一个开源的Golang IM服务端项目,具有高性能和可扩展等特性。采用微服务架构设计,支持集群和水平扩展,能够满足高并发业务需求,并实现了万人群消息的秒达。

License

Notifications You must be signed in to change notification settings

sevtin/lark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c53deea · Apr 4, 2025
Sep 14, 2023
Mar 22, 2025
Nov 1, 2023
Oct 18, 2024
Oct 29, 2024
Oct 18, 2024
Oct 19, 2024
Oct 18, 2024
Dec 31, 2024
Oct 18, 2024
Sep 14, 2023
Feb 11, 2023
Apr 4, 2025
Feb 11, 2023
Feb 11, 2023
Apr 18, 2023
Feb 11, 2023
Feb 11, 2023
Feb 11, 2023
May 27, 2024
Jul 18, 2024
Oct 18, 2024

Repository files navigation

Lark是一个开源的Golang IM服务端项目,具有高性能和可扩展等特性。采用微服务架构设计,支持集群和水平扩展,能够满足高并发业务需求,并实现了万人群消息的秒达。

技术选型及开发环境

序号 技术 说明 官网
1 Go 开发语言 https://go.dev/
2 Lua Redis Lua 脚本 http://www.lua.org/
3 Mysql 关系型数据库 https://www.mysql.com/
4 MongoDB NoSql数据库 https://www.mongodb.com
5 Elasticsearch 搜索和分析引擎 https://www.elastic.co/cn/elasticsearch/
6 Redis KV 数据库 https://redis.io/
7 Kafka 消息中间件 https://kafka.apache.org/
8 RabbitMQ 消息中间件 https://www.rabbitmq.com/
9 ZooKeeper 分布式协调服务 https://zookeeper.apache.org/
10 Docker 应用容器引擎 https://www.docker.com
11 MinIO 对象存储 https://min.io/
12 Nginx Web/反向代理 https://www.nginx.com/
13 JWT JWT登录支持 https://github.com/golang-jwt/jwt
14 Validator 验证框架 https://github.com/go-playground/validator
15 Jaeger 链路追踪 https://www.jaegertracing.io
16 Prometheus 系统监控和报警系统 https://prometheus.io/
17 Grafana 指标数据的可视化展现 https://grafana.com/
18 ETCD 服务发现 https://etcd.io/
19 Kibana 数据分析和可视化平台 https://www.elastic.co/cn/kibana/
20 Logstash 数据收集引擎 https://www.elastic.co/cn/logstash/
21 Filebeat 日志采集器 https://www.elastic.co/cn/beats/filebeat
22 Flink 通用数据处理平台 https://flink.apache.org/
23 ShardingSphere-Proxy 数据库中间件 https://shardingsphere.apache.org/
24 Mycat 数据库中间件【已弃用】 http://mycatone.top/
25 Gin Web 框架 https://github.com/gin-gonic/gin
26 gRpc 远程过程调用系统 https://pkg.go.dev/google.golang.org/grpc
27 GORM ORM https://gorm.io/

单机版运行步骤

Step 1
下载单机版分支代码(注:该分支代码已停止维护)
git clone -b standalone [email protected]:sevtin/lark.git

Step 2
创建日志文件目录,并设置权限
/var/log/lark

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

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

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

mkdir -p /private/tmp/lark/photos

upload files to photos
./lark/assets/images/avatar/06b73ea9-0c61-4ea6-b3e5-f89d89d53add.jpeg
./lark/assets/images/avatar/6b546cc7-5e4a-4d31-8017-1e5853f88a1c.jpeg
./lark/assets/images/avatar/b11883ba-f3d7-4164-a593-700c177c37c8.jpeg

update CONST_AVATAR_SMALL/CONST_AVATAR_MEDIUM/CONST_AVATAR_LARGE/SYSTEM_ACCOUNT_AVATAR_CONTACT_INVITE

Step 7
通过Apache Flink同步数据到Elasticsearch

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

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

支持作者

维护这个项目需要花费大量的时间和精力来保持其更新和改进。如果你愿意支持我们,你的捐款将帮助我们继续保持项目的活跃性。

WeChatPay

Alipay

基于Lark项目编写的加密币交易所

https://eipistar.dpdns.org/

https://github.com/sevtin/coinex

About

Lark是一个开源的Golang IM服务端项目,具有高性能和可扩展等特性。采用微服务架构设计,支持集群和水平扩展,能够满足高并发业务需求,并实现了万人群消息的秒达。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published