teamgram-architecture

Overview of Teamgram Server's 6-layer microservice architecture with 11 services, gRPC/Kafka communication, and etcd service discovery for Telegram-compatible messaging backends.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "teamgram-architecture" with this command: npx skills add zhihang9978/teamgram-architecture

Teamgram Server 总体架构概览

系统定位

Teamgram Server 是一个 Telegram/MTProto 兼容的微服务系统,配合 KHF Android 客户端使用。

分层架构

[KHF Android Client]
    |
    |  MTProto (obfuscated2 / tcp / websocket)
    v
[gnetway: interface.gateway]
    |
    |  gRPC (go-zero zrpc, etcd discovery: interface.session)
    v
[session: interface.session]
    |
    |  gRPC proxy by IDMap (mtproto.RPC* -> bff.bff)
    v
[bff: bff.bff]
    |
    |  gRPC calls (etcd): service.biz_service / service.authsession / service.status / messenger.msg / service.dfs / service.media / service.idgen
    v
[biz_service + others]
    |
    |  Kafka topics:
    |    - Inbox-T (write path)
    |    - Sync-T  (fanout/push path)
    v
[messenger.msg] -> [Kafka Inbox-T] -> [inbox helper]
                         |
                         v
                      [Kafka Sync-T] -> [messenger.sync] -> [session] -> [gnetway] -> [client]

6 层职责

服务职责
入口层gnetwayTCP/WebSocket/HTTP MTProto 网关
会话路由层session按 auth_key / session_id 聚合与路由,作为 gnetway 与 BFF 的桥
BFF 聚合层bff.bff实现 Telegram RPC 接口的 27 个模块
核心业务层biz_service6 个 helper(user/chat/dialog/message/updates/code)
消息投递层messenger.msg + inboxKafka Inbox-T 写入 inbox/outbox/未读等状态
同步分发层messenger.syncKafka Sync-T → 推送 updates/rpcResult 回 session

11 个核心微服务清单

服务名etcd Key端口职责
gnetwayinterface.gateway10443/5222/11443MTProto 网关(TCP/WS/HTTP)
sessioninterface.session20120会话聚合与 RPC 路由
authsessionservice.authsession20450auth_key 管理
bffbff.bff2001027个RPC模块聚合层
biz_serviceservice.biz_service205006个helper(user/chat/dialog/message/updates/code)
msgmessenger.msg20030消息投递 + Kafka生产
inbox(Kafka consumer)-Inbox-T 消费者(写入 inbox/outbox/未读等状态)
syncmessenger.sync20420同步分发(Kafka→session)
idgenservice.idgen20660Snowflake/Seq ID生成
statusservice.status20670在线状态/会话TTL
dfsservice.dfs20640 + 11701Minio 文件存储 + HTTP 网关
mediaservice.media20650媒体元数据/缩略图处理

注:msg/inbox/sync 属于 messenger 域的不同子服务/角色。

服务间通信方式

  1. gRPC (go-zero zrpc):所有微服务间同步调用均使用 gRPC,通过 etcd 服务发现
  2. Kafka 异步消息:消息投递(Inbox-T)和同步分发(Sync-T)使用 Kafka 解耦
  3. MTProto 二进制协议:客户端与 gnetway 之间的通信协议

配置与服务发现

  • 所有服务通过 YAML 声明 Etcd.Hosts + Etcd.Key 注册到 etcd
  • 调用端用同 Key 发现目标服务
  • 关键 etcd Key 列表:interface.gateway, interface.session, bff.bff, service.biz_service, service.authsession, service.idgen, service.status, service.dfs, service.media, messenger.msg, messenger.sync

Source Code References

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Leads

Leads - command-line tool for everyday use

Registry SourceRecently Updated
General

Bmi Calculator

BMI计算器。BMI计算、理想体重、健康计划、体重追踪、儿童BMI、结果解读。BMI calculator with ideal weight, health plan. BMI、体重、健康。

Registry SourceRecently Updated
General

Blood

Blood — a fast health & wellness tool. Log anything, find it later, export when needed.

Registry SourceRecently Updated
General

Better Genshin Impact

📦BetterGI · 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 - UI A better genshin impact, c#, auto-play-game, automatic, g...

Registry SourceRecently Updated