# jmicro **Repository Path**: jzins/jmicro ## Basic Information - **Project Name**: jmicro - **Description**: 自研微服务框架,借鉴go-zero、kratos。采用三层代码结构进行服务解耦。 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 9 - **Created**: 2023-03-21 - **Last Updated**: 2025-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: 微服务, Go语言, Grpc, Gin ## README # jmicro #### 介绍 自研微服务框架,采用三层代码结构进行系统解耦。(开发中) http服务 基于gin封装。rpc服务 基于gRPC封装。 自定义log包 基于zap封装、errors包。全适配官方的包 借鉴kratos服务注册进行解耦。 默认使用consul进行服务的注册、发现、负载 http服务的认证方式默认是:JWT 现在用的是cobra、pflag、viper进行配置管理 启动时可使用--help进行查看 链路追踪使用opentelemetry,默认使用jaeger。已集成到gin、gRPC。 监控指标使用prometheus,已集成到gin、gRPC。 gRPC启动后台服务命令:go run ./cmd/admin/admin.go -c=configs/admin/admin.yaml 可在GoLand中配置启动时Program arguments为:-c=configs/admin/admin.yaml #### 安装教程 ``` git clone https://gitee.com/jzins/jmicro ``` 在app/user/srv/app.go中默认读取配置文件 也就是得启动consul、jaeger、mysql、redis、nacos、elasticsearch 若不想启动请在app/user/srv/app.go的NewApp结构体中添加app.WithNoConfig() 运行: ``` go run .\cmd\user\user.go -c configs/user/srv.yaml ```