chassis/README.md

1.7 KiB
Raw Blame History

chassis <ˈʃæsi>

chassis <ˈʃæsi> n. 底盘,底架

仓库名寓意服务的底盘,基础库。搭建微服务底盘是为了简化服务的创建过程,同时确保开发者遵循这套开发标准。

包含的特性

已包含

  • 模板代码
    • nameko 微服务
    • apiflask Web 服务
    • rocketry 定时任务服务
  • 服务注册和发现 (RabbitMQ)
  • 可观测 Observability
    • Metrics
      • Statsd + Prometheus + Grafana
    • Logging
      • fluentd + ELK
    • Error Reporting
      • Sentry
  • 数据存储相关 utils
    • Sqlalchemy
      • 连接池
      • 读写分离

TODO

  • 可观测 Observability
  • Tracing
    • OpenTelemetry
  • 事务
    • 基于开源库 DTM 实现 Saga 模式
  • 高可用
    • 重试
    • 断路器
    • 限流
    • 缓存
    • 健康检查
  • 数据存储相关 utils
    • Sqlalchemy
      • 数据库迁移
        • Alembic
    • 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