GoWind 开源生态GoWind 开源生态
首页
框架
GoWind Admin
GoWind CMS
GoWind IM
GoWind UBA
GoWind IoT
GoWind Toolkit
GoWind Quant
GitHub
首页
框架
GoWind Admin
GoWind CMS
GoWind IM
GoWind UBA
GoWind IoT
GoWind Toolkit
GoWind Quant
GitHub
  • 介绍

    • GoWind 框架
    • 框架整体架构
  • go-wind 核心

    • go-wind 核心框架
    • App 生命周期管理
    • Context 传播
    • Transport 抽象
    • Log 门面接口
  • go-wind-plugins 插件

    • go-wind-plugins 插件总览
    • 插件配置系统
    • 插件注册机制(SPI)
    • 日志适配插件
    • 传输协议插件
    • 消息中间件插件
    • 编码解码插件
    • 安全与认证插件
    • 链路追踪插件
    • 缓存插件
    • 对象存储插件(OSS)
    • 限流插件
    • 指标监控插件
    • AI 插件
    • 工作流插件
    • 数据库与缓存插件
    • Bootstrap 集成与网关插件
    • 压缩与序列化插件
    • 模板渲染与验证插件
  • go-wind-bootstrap 启动器

    • go-wind-bootstrap 声明式启动器
    • Bootstrap 配置系统
    • Bootstrap SPI 机制
    • 声明式中间件编排
    • Bootstrap CLI 工具
    • Bootstrap 实战示例
  • 教程

    • 快速入门教程
    • 自定义插件开发教程
    • 多协议同时监听教程
    • 框架迁移指南

GoWind 框架

GoWind 框架是一套 积木式 Go 微服务框架,由三个核心项目组成,提供从底层生命周期管理到声明式配置启动的完整基础设施。

一、三个项目

项目仓库定位核心代码
go-windtx7do/go-wind核心框架:生命周期 + 最小接口< 500 行
go-wind-pluginstx7do/go-wind-plugins插件生态:100+ 适配器,8+ 领域按子模块独立版本
go-wind-bootstraptx7do/go-wind-bootstrap声明式启动器:YAML 配置驱动装配—

二、设计哲学

2.1 积木式架构

不是一揽子全栈框架,而是一盒积木。

  • 组合优于继承 — 每个插件只实现标准接口,业务代码依赖接口而非实现
  • 接口优于实现 — 核心只定义最小接口,具体实现由插件提供
  • 零隐藏魔法 — 所有行为都是显式的,没有隐式初始化和全局状态

2.2 分层职责

2.3 零外部依赖

核心框架仅依赖 golang.org/x/sync,不引入任何第三方库。

三、插件领域总览

go-wind-plugins 覆盖 8+ 领域,100+ 适配器:

领域接口适配器数量示例
配置中心Config14Apollo, Consul, Etcd, Nacos, Vault, K8s
服务注册Registry8Consul, Etcd, Nacos, Eureka, Zookeeper
日志Logger13Zap, Zerolog, Logrus, Loki, Sentry
传输协议Transport22+HTTP, gRPC, WebSocket, SSE, TCP, KCP
消息队列Broker12Kafka, RabbitMQ, NATS, MQTT, Pulsar, Redis
编解码Encoding12JSON, Protobuf, YAML, TOML, MsgPack
链路追踪Tracer3OTLP, Jaeger, OpenTelemetry
指标监控Metrics3Prometheus, OpenTelemetry, Datadog

此外还包括:安全(JWT/Casbin)、缓存(Redis/Local)、对象存储(MinIO/S3)、限流熔断(Sentinel/Hystrix)、AI 集成(OpenAI/LangChainGo)、工作流引擎(Temporal/Argo)等。

四、快速开始

4.1 安装

go get github.com/tx7do/go-wind
go get github.com/tx7do/go-wind-bootstrap

4.2 最小示例

package main

import (
    "github.com/tx7do/go-wind"
    _ "github.com/tx7do/go-wind-plugins/transport/http"    // 导入 HTTP 插件
    _ "github.com/tx7do/go-wind-plugins/log/zap"           // 导入 Zap 日志插件
    "github.com/tx7do/go-wind-bootstrap"
)

func main() {
    // 一行启动:读取 YAML 配置,装配所有组件
    bootstrap.RunApp()
}

4.3 配置文件

# app.yaml
name: my-service

servers:
  - name: http
    type: http
    addr: ":8080"

log:
  level: info
  format: json

registry:
  type: etcd
  config:
    endpoints: ["localhost:2379"]

五、与业务应用的关系

层次项目说明
框架基础设施go-wind + plugins + bootstrap提供微服务运行时
开发工具GoWind ToolkitCLI 代码生成 + 桌面端
业务应用Admin / CMS / UBA / IM开箱即用的产品

六、相关文档

基础文档

  • 框架整体架构

go-wind 核心

  • 核心框架介绍
  • App 生命周期管理
  • Context 传播
  • Transport 抽象
  • Log 门面接口

go-wind-plugins 插件

  • 插件生态总览
  • 配置中心
  • 服务注册
  • 日志适配
  • 传输协议
  • 消息队列
  • 编解码
  • 安全
  • 链路追踪
  • 缓存
  • 对象存储
  • 限流熔断
  • 指标监控
  • AI 集成
  • 工作流引擎

go-wind-bootstrap 启动器

  • 声明式启动器介绍
  • BootstrapConfig 配置定义
  • SPI 插件注册机制
  • 声明式中间件编排
  • Cobra CLI 集成
  • 完整示例

教程

阶段教程说明
入门从零搭建一个微服务使用 bootstrap 快速搭建
核心自定义插件开发实现 go-wind 接口
核心多协议同时监听HTTP + gRPC + WebSocket
进阶从 Kratos 迁移迁移指南
Edit this page
Last Updated:: 6/21/26, 9:28 PM
Contributors: Bobo
Next
框架整体架构