服务基座
Go to file
BryantHe d4e6c52286 update readme 2023-06-21 18:26:13 +08:00
chassis add chassis utils 2023-06-10 15:24:42 +08:00
examples update nameko demo 2023-06-17 01:38:04 +08:00
.gitignore 更新 chassis 2023-05-30 04:00:19 +08:00
LICENSE Initial commit 2023-05-21 01:34:58 +08:00
README.md update readme 2023-06-21 18:26:13 +08:00
setup.cfg 添加 demo 代码 2023-05-23 22:23:07 +08:00
setup.py add environs; update readme 2023-06-17 02:36:37 +08:00

README.md

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 方面