结构说明

代码目录结构是经过多次迭代后的结果,目的还是为了更加简洁和高效的编码,这样的设计主要是想尽可能的将目录层级结构保持在2层以内,减少操作复杂度。

目录结构, 点击查看👈
├── assistant
│   ├── init.go
├── bll
│   ├── event_handle.go
│   ├── init.go
│   └── user.go
├── client
│   ├── broker
│   │   ├── init.go
│   │   ├── nats.go
│   │   └── rabbit.go
│   ├── grpc
│   │   └── init.go
│   ├── httpc
│   │   └── init.go
│   ├── init.go
│   └── websocket
│       └── init.go
├── collector
│   ├── init.go
│   ├── logger
│   │   ├── file_output.go
│   │   ├── init.go
│   │   ├── log.go
│   │   ├── syncer.go
│   │   └── zap.go
│   ├── metrics
│   │   ├── collector.go
│   │   ├── http.go
│   │   └── init.go
│   └── trace
│       └── init.go
├── config
│   ├── conf.go
│   ├── init.go
│   └── traefik.go
├── errors
│   ├── error.go
│   └── error_type.go
├── event
│   ├── data.go
│   ├── event.go
│   └── init.go
├── lib
│   ├── example_server
│   │   └── init.go
├── logs
│   └── admin.log
├── main.go
├── makefile
├── model
│   ├── auth.go
│   ├── entity
│   │   └── user.go
│   ├── group.go
│   ├── mapping
│   │   ├── mapping.go
│   │   └── user.go
│   ├── model.go
│   └── user.go
├── script
│   ├── config.yaml
│   ├── down.sql
│   ├── index.sql
│   └── up.sql
├── server
│   ├── example_server
│   │   └── init.go
│   ├── grpc
│   │   ├── init.go
│   │   └── middleware
│   │       ├── log.go
│   │       └── trace.go
│   ├── init.go
│   └── web
│       ├── init.go
│       ├── middleware
│       │   ├── auth.go
│       │   ├── otel.go
│       │   └── util.go
│       └── v1
│           ├── init.go
│           └── user.go
├── store
│   ├── init.go
│   ├── mysql
│   │   ├── init.go
│   │   └── migrate.go
│   ├── postgres
│   │   ├── user.go
│   │   ├── migrate.go
│   │   └── init.go
│   ├── redis
│   │   └── init.go
│   └── user.go
└── utils
    ├── http.go
    └── utils.go

目录名称说明如下:

目录名说明
assistant助理,一切扩展的想象都在这里
bll业务代码存放的地方
client项目向外请求,如:HttpClient、BrokerClient、gRpcClient
collector可观测数据封装,包括日志,链路追踪,指标监控
config配置文件和配置初始化
eventEventBus, 事件总线
errors错误处理包封装,自定义错误
lib自己封装的库
model数据模型,Entity,Mapping(model与entity的映射)代码
script一些项目脚本
server项目对外提供的服务,包括http,grpc,tcp等等
store存储层代码,包括存储接口抽象和具体实现
utils项目工具集

关系图如下: phanes-structure