GoWindGoWind
Home
Framework
GoWind Toolkit
  • Open Source

    • GoWind Admin (Admin Platform)
    • GoWind CMS (Content Management)
    • GoWind UBA (Behavior Analytics)
    • GoWind Shop (E-commerce)
    • GoWind Kanban (Kanban Boards)
    • GoWind Ledger (Personal Finance)
    • GoWind ShortPlay (Short Drama)
    • GoWind Ops (Operations Platform)
    • RushWind (Rust Ecosystem)
  • Open Core (Community + Enterprise)

    • GoWind OA (Office Collaboration)
    • GoWind ERP (Procure-to-Pay)
    • GoWind WMS (Warehousing)
  • Commercial

    • GoWind IM (Instant Messaging)
    • GoWind IoT (IoT Platform)
    • GoWind Edu (AI Education)
    • GoWind MES (Manufacturing Execution)
    • GoWind CDC (Data Pipeline)
    • GoWind SDP (Zero-Trust Gateway)
    • GoWind Quant (Quant Research)
    • GoWind Trade Radar (Export Sourcing)
    • GoWind Game Radar (Game Greenlight)
  • 简体中文
  • English
GitHub
Home
Framework
GoWind Toolkit
  • Open Source

    • GoWind Admin (Admin Platform)
    • GoWind CMS (Content Management)
    • GoWind UBA (Behavior Analytics)
    • GoWind Shop (E-commerce)
    • GoWind Kanban (Kanban Boards)
    • GoWind Ledger (Personal Finance)
    • GoWind ShortPlay (Short Drama)
    • GoWind Ops (Operations Platform)
    • RushWind (Rust Ecosystem)
  • Open Core (Community + Enterprise)

    • GoWind OA (Office Collaboration)
    • GoWind ERP (Procure-to-Pay)
    • GoWind WMS (Warehousing)
  • Commercial

    • GoWind IM (Instant Messaging)
    • GoWind IoT (IoT Platform)
    • GoWind Edu (AI Education)
    • GoWind MES (Manufacturing Execution)
    • GoWind CDC (Data Pipeline)
    • GoWind SDP (Zero-Trust Gateway)
    • GoWind Quant (Quant Research)
    • GoWind Trade Radar (Export Sourcing)
    • GoWind Game Radar (Game Greenlight)
  • 简体中文
  • English
GitHub
  • Introduction

    • GoWind Framework
    • Framework Architecture
  • go-wind Core

    • go-wind Core Framework
    • App Lifecycle Management
    • Context Propagation
    • Transport Abstraction
    • Log Facade Interface
  • go-wind-plugins

    • go-wind-plugins Plugin Overview
    • Plugin Configuration System
    • Plugin Registration Mechanism (SPI)
    • Logging Adapter Plugins
    • Transport Protocol Plugins
    • Message Middleware Plugins
    • Encoding Plugins
    • Security and Authentication Plugins
    • Distributed Tracing Plugins
    • Cache Plugins
    • Object Storage Plugins (OSS)
    • Rate Limiting Plugins
    • Metrics Plugins
    • AI Plugins
    • Workflow Plugins
    • Database and Cache Plugins
    • Bootstrap Integration and Gateway Plugins
    • Compression and Serialization Plugins
    • Template Rendering and Validation Plugins
  • go-wind-bootstrap

    • go-wind-bootstrap: The Declarative Bootstrap
    • The Bootstrap Configuration System
    • The Bootstrap SPI Mechanism
    • Declarative Middleware Orchestration
    • Bootstrap Command-Line Integration
    • Bootstrap Practical Examples
  • go-wind-flow Workflow Engine

    • GoWind Flow Process Engine
  • Tutorials

    • Quick Start Tutorial
    • Custom Plugin Development Tutorial
    • Multi-Protocol Listening Tutorial
    • Framework Migration Guide

GoWind Framework

The GoWind framework is a building-block Go microservices framework consisting of three layers: the core framework go-wind, the plugin ecosystem go-wind-plugins, and the declarative bootstrap go-wind-bootstrap. It provides complete infrastructure ranging from low-level lifecycle management to declarative, configuration-driven startup.

1. The Three Projects

ProjectRepositoryPositioningCore Code
go-windtx7do/go-windCore framework: lifecycle + minimal interfaces< 500 lines
go-wind-pluginstx7do/go-wind-pluginsPlugin ecosystem: 130+ plugins across 20+ domains (157 independent go.mod modules)Independent versioning per submodule
go-wind-bootstraptx7do/go-wind-bootstrapDeclarative bootstrap: YAML-configuration-driven assembly—

Recent additions: the go-wind core now provides two lifecycle hooks, beforeStart and afterStart, offering extension points before and after application startup (see App Lifecycle Management); the CodeToHTTP function in the errors package supports explicitly passing error codes 400–599 through as HTTP status codes.

2. Design Philosophy

2.1 Building-Block Architecture

Not an all-in-one full-stack framework, but a box of building blocks.

  • Composition over inheritance — each plugin only implements standard interfaces; business code depends on interfaces rather than implementations
  • Interfaces over implementations — the core only defines minimal interfaces; concrete implementations are provided by plugins
  • Zero hidden magic — all behavior is explicit, with no implicit initialization or global state

2.2 Layered Responsibilities

2.3 Zero External Dependencies

The core framework depends only on golang.org/x/sync and introduces no third-party libraries.

3. Plugin Domain Overview

Built on unified abstractions across eight major domains with multi-engine adaptation, go-wind-plugins currently contains 157 independent go.mod modules, roughly 130+ plugins, covering 20+ domains:

DomainInterfacePlugin CountExamples
Configuration centerConfig14Apollo, Consul, Etcd, Nacos, Polaris, Vault, K8s, ZooKeeper, Redis, OSS, HTTP, Env, File, FS
Service registryRegistry8 + selector/resolverConsul, Etcd, Nacos, Eureka, Zookeeper
LoggingLogger13Zap, Zerolog, Logrus, Loki, SLS, CLS, CloudWatch, Sentry
Transport protocolsTransport31HTTP (4 drivers), HTTP/3, gRPC, WebSocket, SSE, Socket.IO, SignalR, KCP, WebRTC, WebTransport, GraphQL, Thrift, tRPC, Cron, Asynq, Machinery, MCP
Message queuesBroker12Kafka, RabbitMQ, NATS, MQTT, Pulsar, RocketMQ, NSQ, SQS, Redis, STOMP, Azure Service Bus, Google Pub/Sub
EncodingEncoding12JSON, Protobuf, YAML, TOML, MsgPack
CRUDDatabase19GORM, Ent, MongoDB, ClickHouse, Doris, ES, OpenSearch, InfluxDB, Cassandra, qdrant, milvus, neo4j, weaviate + api/pagination/cache/audit/viewer
SecurityAuthn/Authz2010 authentication suites (JWT/OAuth2 etc.), 9 authorization suites (Casbin, Cedar, Cerbos, OPA, Zanzibar etc.), crypto

In addition, it covers domains such as circuit breaking (4), rate limiting (3), workflow engines (Temporal/Argo/Conductor/GoWorkflows), object storage (2), AI integration (OpenAI/LangChainGo/Eino), metrics monitoring (Prometheus etc.), distributed tracing (OTLP), and utilities (4) — 20+ domains in total.

Recent developments: the MCP transport now passes through StreamableHTTP/SSE server options; a new vector abstraction connects to four vector/graph databases — qdrant/milvus/neo4j/weaviate; selector client-side load balancing plus a resolver gRPC adapter; and the transaction local-transaction quartet (outbox/saga/tcc/xa).

4. Quick Start

4.1 Installation

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

4.2 Minimal Example

package main

import (
    "github.com/tx7do/go-wind"
    _ "github.com/tx7do/go-wind-plugins/transport/http"    // Import the HTTP plugin
    _ "github.com/tx7do/go-wind-plugins/log/zap"           // Import the Zap logging plugin
    "github.com/tx7do/go-wind-bootstrap"
)

func main() {
    // One-line startup: read YAML configuration and assemble all components
    bootstrap.RunApp()
}

4.3 Configuration File

# app.yaml
name: my-service

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

log:
  level: info
  format: json

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

5. Relationship with Business Applications

LayerProjectDescription
Framework infrastructurego-wind + plugins + bootstrapProvides the microservices runtime
Development toolsGoWind ToolkitCLI code generation + desktop client
Business applicationsAdmin / CMS / UBA / IMOut-of-the-box products

6. Related Documentation

Fundamentals

  • Framework Architecture

go-wind Core

  • Core Framework Introduction
  • App Lifecycle Management
  • Context Propagation
  • Transport Abstraction
  • Log Facade Interface

go-wind-plugins

  • Plugin Ecosystem Overview
  • Configuration Center
  • Service Registry
  • Log Adapters
  • Transport Protocols
  • Message Queues
  • Encoding
  • Security
  • Distributed Tracing
  • Cache
  • Object Storage
  • Rate Limiting and Circuit Breaking
  • Metrics Monitoring
  • AI Integration
  • Workflow Engines

go-wind-bootstrap

  • Declarative Bootstrap Introduction
  • BootstrapConfig Definition
  • SPI Plugin Registration Mechanism
  • Declarative Middleware Orchestration
  • Cobra CLI Integration
  • Complete Examples

Tutorials

StageTutorialDescription
BeginnerBuilding a Microservice from ScratchQuick setup with the bootstrap
CoreCustom Plugin DevelopmentImplementing go-wind interfaces
CoreListening on Multiple Protocols SimultaneouslyHTTP + gRPC + WebSocket
AdvancedMigrating from KratosMigration guide
Edit this page
Last Updated:: 11/3/26, 2:14 PM
Contributors: Bobo
Next
Framework Architecture