chassis/README.md

80 lines
1.8 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. 底盘,底架
仓库名寓意服务的底盘,基础库。搭建微服务底盘是为了简化服务的创建过程,同时确保开发者遵循这套开发标准。
## 包含的特性
### 已包含
- 模板代码
- nameko 微服务
- apiflask Web 服务
- rocketry 定时任务服务
- 服务注册和发现 (RabbitMQ)
- 可观测 Observability
- Metrics
- Statsd + Prometheus + Grafana
- Logging
- fluentd + ELK
- Error Reporting
- Sentry
- 数据存储相关 utils
- Sqlalchemy
- 连接池
- 读写分离
- 数据库迁移
- Alembic
### TODO
- environs 替代 python-dotenv
- 可观测 Observability
- Tracing
- OpenTelemetry
- 事务
- 基于开源库 DTM 实现 Saga 模式
- 高可用
- 重试
- 断路器
- 限流
- 缓存
- 健康检查
- 数据存储相关 utils
- Redis 连接池
- ElasticSearch
- 全局配置服务
- 配置工具
- 代码生成工具
- 容器打包工具
## 实现的功能
- 服务注册和发现(RabbitMQ)
- 同步/异步传输(RabbitMQ)
- 负载均衡RabbitMQ
- 限流降级(消息确认+断路器)
- 健康检查
- 通过可观测实现Metrics + Logging + Tracing + Error Reporting)
## 部署
目前使用 docker compose 编排管理容器
后续期望迁移到 k8s or k3s 编排管理容器
## 安装方法
基础代码库:
`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`
## 备忘
metrics 方面
- 关注 nameko-prometheus 的进展
- https://github.com/Emplocity/nameko-prometheus