Mercure 开源项目教程
1. 项目的目录结构及介绍
mercure/
├── cmd/
│ ├── mercure/
│ │ └── main.go
│ └── mercure-hub/
│ └── main.go
├── config/
│ └── config.yaml
├── docs/
│ └── README.md
├── internal/
│ ├── hub/
│ │ ├── hub.go
│ │ └── topic.go
│ └── transport/
│ └── transport.go
├── pkg/
│ ├── auth/
│ │ └── auth.go
│ └── utils/
│ └── utils.go
├── .gitignore
├── go.mod
├── go.sum
└── README.md
目录结构介绍
- cmd/: 包含项目的入口文件,
mercure
和mercure-hub
是两个主要的启动文件。 - config/: 存放项目的配置文件,如
config.yaml
。 - docs/: 存放项目的文档文件,如
README.md
。 - internal/: 包含项目的内部逻辑代码,如
hub
和transport
模块。 - pkg/: 包含项目的公共包,如
auth
和utils
模块。 - .gitignore: Git 忽略文件。
- go.mod 和 go.sum: Go 模块依赖文件。
- README.md: 项目的主文档文件。
2. 项目的启动文件介绍
cmd/mercure/main.go
这是 mercure
服务的启动文件,负责初始化并启动 mercure
服务。主要功能包括:
- 加载配置文件。
- 初始化服务。
- 启动 HTTP 服务器。
cmd/mercure-hub/main.go
这是 mercure-hub
服务的启动文件,负责初始化并启动 mercure-hub
服务。主要功能包括:
- 加载配置文件。
- 初始化
hub
服务。 - 启动 HTTP 服务器。
3. 项目的配置文件介绍
config/config.yaml
这是 mercure
项目的配置文件,包含以下主要配置项:
server:
address: ":8080"
read_timeout: 10s
write_timeout: 10s
database:
driver: "sqlite3"
dsn: "file:mercure.db"
log:
level: "info"
format: "text"
配置项介绍
- server: 配置 HTTP 服务器的相关参数,如监听地址、读写超时时间。
- database: 配置数据库驱动和连接字符串。
- log: 配置日志级别和格式。
通过以上配置,可以灵活调整 mercure
服务的运行参数。