← 返回
开发者工具

Teamgram Tool Services

Documents the tool services in Teamgram Server including idgen (Snowflake ID), status (online TTL), dfs (Minio file storage), and media (metadata/thumbnails).
记录 Teamgram Server 中的工具服务,包括 idgen(雪花ID)、status(在线 TTL)、dfs(Minio 文件存储)和 media(元数据/缩略图)。
zhihang9978
开发者工具 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 456
下载
💾 4
安装
1
版本
#latest

概述

工具服务:idgen / status / dfs / media

idgen(service.idgen)— ID 生成服务

配置

Name: service.idgen
ListenOn: 127.0.0.1:20660
Etcd:
  Key: service.idgen
NodeId: 1
SeqIDGen:
  - Host: 127.0.0.1:6379

用途

  • Snowflake/序列 ID 生成
  • 生成 message_id / photo_id / dialog_id 等
  • NodeId 配置用于分布式 Snowflake 避免 ID 冲突
  • 序列 ID 使用 Redis 原子递增

关键代码路径

  • app/service/idgen/

status(service.status)— 在线状态服务

配置

Name: service.status
ListenOn: 127.0.0.1:20670
Etcd:
  Key: service.status
Status:
  - Host: 127.0.0.1:6379
StatusExpire: 90

用途

  • 维护用户在线状态
  • 会话 TTL 管理(StatusExpire: 90秒)
  • 被 BFF 调用来判断用户是否在线
  • 被 session 调用来注册/注销在线会话

关键代码路径

  • app/service/status/

dfs(service.dfs)— 分布式文件存储

配置要点

  • gRPC 端口:20640
  • MiniHttp 端口:11701(HTTP 文件下载入口)
  • 后端存储:Minio

Minio Buckets

Bucket用途
------
documents文档文件
photos照片
videos视频
encryptedfiles加密文件

用途

  • 文件分片上传/下载
  • 通过 MiniHttp (0.0.0.0:11701) 提供 HTTP 下载入口
  • 被 BFF.files 模块调用

关键代码路径

  • app/service/dfs/

media(service.media)— 媒体处理服务

配置

Name: service.media
ListenOn: 127.0.0.1:20650
Etcd:
  Key: service.media
Mysql:
  DSN: root:@tcp(127.0.0.1:3306)/teamgram?charset=utf8mb4&parseTime=true
Cache:
  - Host: 127.0.0.1:6379
Dfs:
  Etcd:
    Key: service.dfs

用途

  • 媒体元数据管理
  • 缩略图生成与处理
  • 依赖 dfs 进行实际文件存取
  • 依赖 MySQL 存储元数据(documents/photos/photo_sizes/video_sizes 表)

关键代码路径

  • app/service/media/

文件上传下载完整链路

Client
  -> files.upload* / upload.getFile
  -> bff.files
       -> dfs 保存/获取 file parts
       -> media 生成缩略图/元数据
       -> db 写入 documents/photos/photo_sizes/...
  <- 返回 inputFile / fileLocation / document/photo

DFS
  - Minio buckets: documents/photos/videos/encryptedfiles
  - MiniHttp 0.0.0.0:11701 提供 HTTP 下载入口

服务依赖关系

bff.files → dfs (gRPC) → Minio (S3)
         → media (gRPC) → MySQL + dfs
idgen    → Redis (原子递增)
status   → Redis (TTL)

Source Code References

  • Repository: https://github.com/teamgram/teamgram-server (Apache-2.0)

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-30 06:46 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 921 📥 185,821
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 671 📥 324,337
security-compliance

MTProto 2.0

zhihang9978
MTProto 2.0协议实现指南,用于Telegram后端开发。包括MTProto加密、握手、消息序列化等实现指导。
★ 0 📥 531