57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
# chassis <ˈʃæsi>
|
||
|
||
chassis <ˈʃæsi> n. 底盘,底架
|
||
|
||
仓库名寓意服务的底盘,基础库。搭建微服务底盘是为了简化服务的创建过程,同时确保开发者遵循这套开发标准。
|
||
|
||
## 包含的特性
|
||
|
||
1. 模板代码
|
||
- nameko 微服务
|
||
- apiflask Web 服务
|
||
- rocketry 定时任务服务
|
||
2. 事务
|
||
- 实现 Saga 模式
|
||
3. 查询
|
||
4. 高可用
|
||
1.
|
||
5. 可观测 Observability
|
||
1. Metrics
|
||
- Statsd + Prometheus + Grafana)
|
||
2. Logging
|
||
- ELK
|
||
3. Tracing
|
||
- TODO, Maybe OpenTelemetry
|
||
4. Error Reporting
|
||
- Sentry
|
||
6. 数据存储相关 utils
|
||
1. Sqlalchemy
|
||
- 连接池
|
||
- 读写分离
|
||
2. Redis
|
||
- 连接池
|
||
3. ElasticSearch
|
||
4. 数据库迁移
|
||
- Alembic
|
||
7. 服务注册和发现 (RabbitMQ)
|
||
8. 配置获取 (TODO)
|
||
|
||
|
||
## 实现的功能
|
||
|
||
- 服务注册和发现(RabbitMQ)
|
||
- 同步/异步传输(RabbitMQ)
|
||
- 负载均衡(RabbitMQ)
|
||
- 限流降级(消息确认+断路器)
|
||
- 健康检查
|
||
- 通过可观测实现(Metrics + Logging + Tracing + Error Reporting)
|
||
|
||
|
||
## 安装方法
|
||
|
||
基础代码库:
|
||
`python3 -m pip install --trusted-host=gitea.bearcatlog.com git+https://gitea.bearcatlog.com/BryantStudio/chassis.git@main`
|
||
|
||
基础代码库依赖的服务:
|
||
`python3 -m pip install --trusted-host=gitea.bearcatlog.com git+https://gitea.bearcatlog.com/BryantStudio/chassis-agent.git@main`
|