Lark
Lark是一个开源的Golang IM服务端项目,具有高性能和可扩展等特性。采用微服务架构设计,支持集群和水平扩展,能够满足高并发业务需求,并实现了万人群消息的秒达。
Install / Use
/learn @sevtin/LarkREADME
Lark是一个开源的Golang IM服务端项目,具有高性能和可扩展等特性。采用微服务架构设计,支持集群和水平扩展,能够满足高并发业务需求,并实现了万人群消息的秒达。
<img src="assets/images/lark-logo.png" height="119" width="309"/>技术选型及开发环境
| 序号 | 技术 | 说明 | 官网 | |------|------------------------|------------------|----------------------------------------------| | 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 git@github.com: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
支持作者
维护这个项目需要花费大量的时间和精力来保持其更新和改进。如果你愿意支持我们,你的捐款将帮助我们继续保持项目的活跃性。
<center> <img src="assets/images/WeChatPay.jpg" alt="WeChatPay" width="30%"/> <img src="assets/images/Alipay.jpg" alt="Alipay" width="30%"/> </center>基于Lark项目编写的加密币交易所
https://eipistar.dpdns.org/
https://github.com/sevtin/coinex
Related Skills
canvas
341.6kCanvas Skill Display HTML content on connected OpenClaw nodes (Mac app, iOS, Android). Overview The canvas tool lets you present web content on any connected node's canvas view. Great for: -
node-connect
341.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
