首页
论坛首页
最近更新
最近更新
总版规
登录
立即注册
UID商城首页
大话之王
积分商城
积分银行
勋章中心
认证中心
尘火论坛 | 精品资源分享社区
»
首页
›
资源综合
›
尘火茶馆
›
Tikrok v6.0 新的生产级架构,成本不变,但是部署复杂略 ...
返回列表
发布新帖
查看:
123
|
回复:
1
Tikrok v6.0 新的生产级架构,成本不变,但是部署复杂略有增加
大理小帅
当前离线
UID
1014
小学生, 积分 2185, 距离下一级还需 315 积分
买家信用
卖家信用
大理小帅
发表于 2026-5-15 03:53:04
|
查看全部
|
阅读模式
Tikrok — 第 6 代内网穿透平台
关键词: QUIC 内网穿透 | 多协议隧道 | gRPC 微服务 | Go 多模块 | Docker 全栈
Tikrok 是第 6 代内网穿透平台——基于 QUIC 协议,数据面与控制面分离架构,支持 TCP/HTTP/UDP 多协议隧道转发,具备完整的用户认证、流量计费、配额管理和监控体系。
项目概况
解决的问题
传统内网穿透工具(如 frp 、ngrok )存在协议老旧( TCP 长轮询)、单端口多协议支持弱、缺少企业级功能(计费/配额/SSO )等问题。Tikrok 从零开始,围绕 QUIC 协议构建了一套完整的数据面+控制面分离的内网穿透平台。
六代演进
第 1 代 (2024Q2) — TCP 长轮询原型,单隧道单进程,无认证
第 2 代 (2024Q3) — QUIC 协议替换 TCP 长轮询,单端口多协议支持( ALPN 协商 h3/h2/http/1.1/tikrok )
第 3 代 (2024Q4) — SDK 模块化,提炼 tikrok-sdk( quic/protocol/tunnel 等核心包独立发布),server/client 双模块
第 4 代 (2025Q1) — 控制面与数据面分离,引入 etcd 服务发现、MySQL 持久化、JWT 认证
第 5 代 (2025Q2) — gRPC 微服务架构定型:auth/user/order/product/tunnel 五服务 + Gin HTTP Gateway ,Docker Compose 12 容器全栈部署
第 6 代 (2025Q3-至今) — 生产级交付:Ansible 自动化部署、Jeepay 支付集成、Casdoor SSO 、Prometheus+Grafana 监控、流量计费、配额管理、36 项 E2E 自动化验证
现状
维度
状态
QUIC 隧道( TCP/HTTP/UDP )
生产可用
微服务网关 + 5 gRPC 服务
生产可用
用户认证( JWT/API Key )
生产可用
流量计费( 30s 上报 + 原子递增)
生产可用
产品/订单/支付( Jeepay )
生产可用
Casdoor SSO 集成
功能完成,待灰度
管理后台 API
功能完成,前端对接中
E2E 验证( 36 项检查)
全部通过
单元测试覆盖
14 个核心包 82%-100%
Kubernetes 部署
实验阶段
架构总览
设计哲学
数据面与控制面分离 — 这是 Tikrok 区别于 frp/ngrok 的核心设计决策:
数据面 (Data Plane): 控制面 (Control Plane):
QUIC 隧道转发 HTTP API + gRPC 微服务
高性能、低延迟 灵活扩展、独立部署
无状态(路由信息查询控制面) 有状态( MySQL/Redis/etcd )
数据面专注做一件事——快速转发字节流;控制面处理所有业务逻辑(认证、计费、配额)。两层之间通过 gRPC 通信。
┌──────────────────────┐
│ tikrok client CLI │
│ (QUIC 隧道连接) │
└──────────┬───────────┘
│ QUIC
▼
┌──────────────────────────────────────────────────────┐
│ tikrokd-server (QUIC 数据面) │
│ 443/UDP: QUIC | 443/TCP: TLS (h3/h2/http/1.1/tikrok)│
│ DNS/SNI 路由 → 隧道直接转发 │
└──────┬───────────────────────────────────────┬────────┘
│ gRPC (API Key 验证/配额检查) │ 字节计数
▼ ▼
┌──────────────────────┐ ┌──────────────────────┐
│ tikrok-services │ │ TrafficReporter │
│ Gin Gateway (:8088) │◄───────────│ 每 30s 上报流量 │
│ 5 × gRPC 微服务 │ └──────────────────────┘
│ etcd/MySQL/Redis │
└──────────────────────┘
多模块工作区
为何选择 Go 多模块而非单体仓库?
SDK 独立发布 — tikrok-sdk 是核心 QUIC 协议栈,独立版本号,可被外部项目引用
服务端/客户端独立构建 — tikrokd-server 部署在服务器,tikrok CLI 分发给用户,两者没有共享代码的直接依赖
微服务独立演进 — tikrok-services 是完整的微服务平台,使用自己的 go.mod 管理依赖
演进方向是成为平台级产品,同时方便制作成开放平台,方便引入三方协作开发。毕竟一个人可以完成的有限,微服务化后,可以分包给不同的开发者。
回复
使用道具
举报
烟雨余生
当前离线
UID
1053
小学生, 积分 2116, 距离下一级还需 384 积分
买家信用
卖家信用
烟雨余生
发表于 2026-5-15 03:53:09
|
查看全部
从 java 的洋葱模型,到 golang 的微服务。golang 的微服务真的是天生自带 buffer 。太好用了。如果企业初创,要做战略级产品,使用这个 golang 作为底层设施真的很省成本,在开发方向也是特别省。16G 干微服务环境,真的够够的。如果是 java 干微服务,开发环境 16 不够用。golang 的 rpc 实现成本真的特别低。
无他,golang 做制作企业级设施很好用。
回复
使用道具
举报
返回列表
发布新帖
懒得打字嘛,点击右侧快捷回复
选择快捷回复
感谢分享,正需要
这东西我收了!谢谢楼主!
我看不错噢 谢谢楼主!
既然你诚信诚意的推荐了,那我就勉为其难的看看吧!
其实我一直觉得楼主的品味不错!呵呵!
感谢楼主的无私分享!
楼主,大恩不言谢了!
楼主,我太崇拜你了!
社区不能没有像楼主这样的人才啊!
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
×
CHLT Reply Guard
!
疑似灌水内容未提交
系统检测到这次发表内容信息量过低,已经先帮你拦下来了。
建议补充完整观点、问题、经历或上下文后再提交,这样更容易通过。
返回修改内容
快速回复
返回顶部
返回列表