gowebframe3本工程功能清单

https://gitee.com/gowebframe3/webframe.git

GoWebFrame3 工程功能清单

一、项目概述

GoWebFrame3 是一个基于 Go 语言的企业级 Web 开发框架,提供完整的后端开发能力,包括数据库操作、Elasticsearch 查询、依赖注入、配置管理等核心功能。


二、核心模块功能清单

1. goweb - Web框架核心模块

子模块功能描述
pagerequest页面请求抽象层,支持 ES 查询、元数据查询、关键词查询、命令请求等
pageesElasticsearch 页面查询模块,支持聚合、高亮、分页等复杂查询
pagedb数据库分页查询模块,支持 SQL 构建、自动迁移、命令执行
webclient客户端模块,包含 ES Web 客户端、DB Web 客户端、Node 客户端
ruleengine规则引擎模块,支持规则定义、规则缓存、规则文件管理
meta元数据管理模块,支持数据库元数据提取、ES 索引元数据、代码生成
generaldb通用数据库操作模块,提供 DAO、Service、Web 层通用接口
mapper对象映射模块,支持结构体之间的自动转换
pagefacade页面请求门面模式,提供统一的查询入口
wso2agentWSO2 API 网关集成模块
webrightWeb 权限验证模块

2. goconfig - 配置管理模块

子模块功能描述
ichubconfig配置中心模块,支持 Apollo 配置、INI 配置、微服务配置
ichubcontext上下文管理模块,提供统一的客户端工厂和公共上下文
ichubelasticElasticsearch 客户端管理
ichubetcdEtcd 客户端管理,支持分布式锁
gocache缓存模块,支持 Redis、BigCache、LongCache
gogrpcgRPC 客户端和服务端支持
basedao基础 DAO 封装
basemodel基础模型定义
baseutils工具函数集(日期、加密、反射、字符串等)

3. godi - 依赖注入模块

子模块功能描述
difactroyDI 工厂模块,支持结构体解析、字段注入
code代码生成模块,支持自动生成实体类、DAO、Service
didtoDI 数据传输对象定义
dimodelDI 模型示例(单例、简单、多例模式)

4. internal - 业务域模块

子模块功能描述
domain/db数据库业务域,包含模型、DAO、Service、Web 层实现
domain/esElasticsearch 业务域,包含 ES 模型和请求封装
gorpcgRPC 服务定义和实现

5. websample - Web示例项目

子模块功能描述
funcweb功能 Web 服务,包含配置、数据库、文件、日志、统计等示例
grpcwebgRPC Web 服务示例
router路由注册和 Swagger 集成
webstart服务启动入口

三、核心能力矩阵

能力类别具体能力所属模块
数据库操作MySQL/PostgreSQL/CockroachDB 支持、ORM、自动迁移、分页查询generaldb, pagedb
全文检索ES 查询、聚合分析、高亮、元数据管理pagees, pagerequest
配置管理Apollo 配置中心、多环境配置、动态配置goconfig
依赖注入自动注入、代码生成、生命周期管理godi
缓存机制Redis、本地缓存、缓存刷新策略gocache
消息队列NATS 消息发布订阅natsexample
API 网关WSO2 集成、API Key 管理wso2agent
权限验证请求令牌验证、权限检查webright
规则引擎规则定义、规则匹配、规则缓存ruleengine
gRPCRPC 服务端/客户端、protobuf 支持gogrpc

四、典型应用场景

  1. 企业级后台管理系统- 提供完整的 CRUD 能力和数据查询
  2. 日志分析平台- 基于 Elasticsearch 的日志检索和聚合分析
  3. 微服务架构- 支持 gRPC 通信和配置中心集成
  4. 数据同步服务- 支持数据库到 ES 的数据同步
  5. 定时任务调度- 支持规则引擎驱动的任务调度

五、技术栈

  • 语言: Go 1.18+
  • 数据库: MySQL、PostgreSQL、CockroachDB
  • 搜索: Elasticsearch 7.x/8.x
  • 缓存: Redis、BigCache
  • 消息队列: NATS
  • 配置中心: Apollo
  • RPC: gRPC
  • API 文档: Swagger

六、项目结构总结

webframe/ ├── goweb/ # Web框架核心 ├── goconfig/ # 配置管理 ├── godi/ # 依赖注入 ├── internal/ # 业务域实现 ├── websample/ # Web示例项目 ├── natsexample/ # NATS示例 ├── webexample/ # 页面示例 └── test/ # 测试模块