# gf-micro **Repository Path**: yijunqiang/gf-micro ## Basic Information - **Project Name**: gf-micro - **Description**: goframe微服务框架实现,包括3个系统:web服务入口、用户中心微服务和博客中心微服务。 非功能性设计包括:单元测试、链路追踪、业务指标统计、日志规范、代码规范扫描、docker部署、蓝绿发布 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-05-16 - **Last Updated**: 2025-02-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gf-micro # 简介 基于goframe,对业务开发通用的一些规范做了封装。 目的是为业务微服务开发提供一整套开箱即用的框架(快速开发)及DevOps方案(构建、代码扫描、自动化测试、流量染色、链路追踪、技术监控、业务监控)。 ## 鉴权 - [context.go](auth%2Fcontext.go) 鉴权上下文 - [middleware.go](auth%2Fmiddleware.go) 鉴权中间件,支持header、cookie、get参数的jwt鉴权 ## 缓存 - [cache.go](cache%2Fcache.go) redis缓存。 - [dbCache.go](cache%2FdbCache.go) 数据库缓存工具库。 ## 命令管理 - [cmd.go](cmd%2Fcmd.go) 服务命令,即可通过主命令启动主服务,也可以通过子命令管理其他服务。 - [middleware.go](cmd%2Fmiddleware.go) 服务命令全局中间件,http和grpc分别定义,包括了apollo配置中心、etcd服务注册发现、日志json化、opentelemetry监控、DB缓存的设置。 - [http.go](cmd%2Fhttp.go) http服务,规范了http服务初始化方式,封装了健康检查接口。 - [grpc.go](cmd%2Fgrpc.go) grpc服务,规范了grpc服务初始化方式。 - [consume.go](cmd%2Fconsume.go) 消费者服务,规范了消息队列消费者初始化方式,并打通了链路追踪。 - [xxljob.go](cmd%2Fxxljob.go) xxljob服务,规范了定时任务初始化方式,并打通了链路追踪。 - [checkCfgCmd.go](cmd%2FcheckCfgCmd.go) 配置检查命令封装。 - [httpForGrpc.go](cmd%2FhttpForGrpc.go) 生成grpc对应的http服务的控制器和cmd文件。 ## 日志 - [formatJson.go](logging%2FformatJson.go) 日志json化处理,可在配置中配置需要json化的日志目录。 - [error.go](logging%2Ferror.go) 错误日志,规范了错误日志格式及内容。 - [grpcUnary.go](logging%2FgrpcUnary.go) grpc日志中间件,主要为请求日志和错误的收集逻辑。 - [grpcAccess.go](logging%2FgrpcAccess.go) grpc请求日志,规范了请求日志格式及内容。 - [grpcClient.go](logging%2FgrpcClient.go) grpc客户端拦截器,主要用来收集grpc请求日志。 - [httpMiddleware.go](logging%2FhttpMiddleware.go) http日志中间件,主要为请求日志和错误的收集逻辑。 - [httpAccess.go](logging%2FhttpAccess.go) http请求日志,规范了请求日志格式及内容。 - [httpClient.go](logging%2FhttpClient.go) http客户端拦截器,主要用来收集http请求日志。 ## 响应 - [http.go](response%2Fhttp.go) 规范了http响应格式。 ## 自动化测试 - [testWithExcel](testWithExcel) excel自动化测试框架,可基于excel来实现对单个接口的全方位测试,也可以基于excel来实现对某个业务场景的全流程测试。此外封装了基于openApi生成http接口单元测试用例excel的cmd。 ## 配置扫描 - [cfg](cfg) 用于检查配置是否规范,防止胡乱配置。 # 示例 - [user](example%2Fuser) 简单的用户grpc微服务,带日志,带数据库访问,带redis缓存,带单元测试。 - [blog](example%2Fblog) 简单的博客grpc微服务,带日志,带数据库访问,带redis缓存,带单元测试。 - [web](example%2Fweb) 简单的http服务系统作为user和blog的对外入口,带鉴权,带日志,带缓存,带健康检查,带单元测试和全流程测试。