chassis/README.md

57 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`