WWW.YOUINFO.SITE
标签聚合 v6.0

/tag/v6.0

V2EX - 技术 · 2026-05-14 22:00:35+08:00 · tech

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 管理依赖 演进方向是成为平台级产品,同时方便制作成开放平台,方便引入三方协作开发。毕竟一个人可以完成的有限,微服务化后,可以分包给不同的开发者。

V2EX - 技术 · 2026-05-14 22:00:35+08:00 · tech

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 管理依赖 演进方向是成为平台级产品,同时方便制作成开放平台,方便引入三方协作开发。毕竟一个人可以完成的有限,微服务化后,可以分包给不同的开发者。

V2EX - 技术 · 2026-05-14 22:00:29+08:00 · tech

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 管理依赖 演进方向是成为平台级产品,同时方便制作成开放平台,方便引入三方协作开发。毕竟一个人可以完成的有限,微服务化后,可以分包给不同的开发者。