EnglishÂ ï½œÂ ä¸æ–‡
Goner is the official component library for the Gone framework, providing a series of plug-and-play components to help developers quickly build high-quality Go applications.
-
Configuration Management
- Local Configuration
- goner/viper - Configuration management component based on spf13/viper
- Remote Configuration/Configuration Center [Microservices]
- goner/apollo - Configuration center component based on Apollo, providing dynamic configuration management
- goner/nacos - Configuration center component based on Nacos, providing dynamic configuration management
- goner/viper/remote - Configuration component based on various remote configuration centers (such as etcd, consul, etc.), providing unified configuration management
- Local Configuration
-
Log Management
- goner/zap - Logging component based on uber-go/zap
-
Service Registry [Microservices]
- goner/nacos - Service registry component based on Nacos, providing service registration, discovery, and other features
- goner/etcd - Service registry component based on etcd, providing service registration, discovery, and other features
- goner/consul - Service registry component based on consul, providing service registration and discovery
-
Message Queue [Microservices] [Event Storming]
- goner/mq/kafka - Provides Kafka integration
- goner/mq/rocket - Provides RocketMQ integration
- goner/mq/rabbitmq - Provides RabbitMQ integration
- goner/mq/mqtt - Provides MQTT integration
-
Services and Remote Calls [Microservices]
- goner/grpc - gRPC client and server wrapper, simplifying microservice development
- goner/urllib - HTTP client wrapper
- goner/gin - Web framework wrapper based on gin-gonic/gin, providing route management, middleware handling, HTTP injection, and other features
- goner/cmux - Multi-protocol multiplexer based on soheilhy/cmux, supporting multiple protocol services on the same port
-
Database
- Relational Database
- goner/xorm - ORM component based on XORM, providing simple and efficient database operations, supporting multiple databases
- goner/xorm/mysql - MySQL driver wrapper for Xorm, providing database operation functionality
- goner/xorm/postgres - PostgreSQL driver wrapper for Xorm, providing database operation functionality
- goner/xorm/sqlite - SQLite driver wrapper for Xorm, providing database operation functionality
- goner/xorm/mssql - MSSQL driver wrapper for Xorm, providing database operation functionality
- goner/gorm - ORM component based on GORM, supporting MySQL, PostgreSQL, SQLite, SQL Server, and ClickHouse
- goner/gorm/mysql - MySQL driver wrapper for Gorm, providing database operation functionality
- goner/gorm/postgres - PostgreSQL driver wrapper for Gorm, providing database operation functionality
- goner/gorm/sqlite - SQLite driver wrapper for Gorm, providing database operation functionality
- goner/gorm/clickhouse - ClickHouse driver wrapper for Gorm, providing database operation functionality
- goner/gorm/sqlserver - SqlServer driver wrapper for Gorm, providing database operation functionality
- goner/xorm - ORM component based on XORM, providing simple and efficient database operations, supporting multiple databases
- NoSQL
- goner/redis - Redis client wrapper, providing caching, distributed locking, and other features
- goner/es - Elasticsearch client wrapper, providing full-text search functionality
- Relational Database
-
Observability [Microservices]
- goner/otel - OpenTelemetry component, providing distributed tracing, metrics, and log collection
-
goner/otel/tracer - Tracing component
- goner/otel/tracer/http - OLTP/HTTP protocol tracing Exporter integration
- goner/otel/tracer/grpc - OLTP/GRPC protocol tracing Exporter integration
- goner/otel/tracer/zipkin - Zipkin tracing Exporter support
-
goner/otel/meter - Metrics component
- goner/otel/meter/http - OLTP/HTTP protocol metrics Exporter integration
- goner/otel/meter/grpc - OLTP/GRPC protocol metrics Exporter integration
- goner/otel/meter/prometheus - Prometheus Reader integration
- goner/otel/meter/prometheus/gin - Gin middleware for exposing Prometheus metrics endpoints
-
goner/otel/log - Logging component
- goner/otel/log/http - OLTP/HTTP protocol logging Exporter integration
- goner/otel/log/grpc - OLTP/GRPC protocol logging Exporter integration
-
- goner/tracer - Provides internal traceID implicit parameter passing
- goner/otel - OpenTelemetry component, providing distributed tracing, metrics, and log collection
-
Scheduled Tasks
- goner/schedule - Scheduled task component
-
AI Components [Large Language Models] [Artificial Intelligence]
- goner/openai - OpenAI client wrapper, providing GPT and other AI capabilities integration
- goner/deepseek - Deepseek client wrapper, providing domestic large language model integration
- goner/mcp - A toolkit wrapped based on
github.com/mark3labs/mcp-go
that helps developers quickly build MCP (Model Context Protocol) server and client applications. Using the Gone MCP component, you can easily integrate AI models with your business systems.
# Install Gone CLI tool
go install github.com/gone-io/gonectl@latest
# Install Goner components
# gonectl install <goner component name>
gonectl install goner/gin
Create an application based on Gin, XORM, and Viper using the Gone CLI tool:
- Create and install dependencies
gonectl create -t gin+xorm+viper goner-demo
cd goner-demo
go mod tidy
- Run the application
# Start the database
docker compose up -d
# Start the application
go run ./cmd
# Or
# gonectl run ./cmd
Sample code location: gin+xorm+viper
Contributions of code or issues are welcome! Please follow these steps:
- Fork this repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details