Siva-Prasad-Palagiri/enterprise-real-time-data-platform

GitHub: Siva-Prasad-Palagiri/enterprise-real-time-data-platform

该项目是一个生产级云原生实时数据平台参考实现,展示了现代企业如何大规模构建、安全运维并监控事件驱动的数据基础设施。

Stars: 0 | Forks: 0

# 企业级实时数据平台
### 面向实时数据工程、平台工程和 AI 基础设施的生产级云原生平台 [![Python](https://img.shields.io/badge/Python-3.12+-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-Latest-009688?style=for-the-badge&logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/) [![Docker](https://img.shields.io/badge/Docker-Containerized-2496ED?style=for-the-badge&logo=docker&logoColor=white)](https://www.docker.com/) [![Kubernetes](https://img.shields.io/badge/Kubernetes-Cloud%20Native-326CE5?style=for-the-badge&logo=kubernetes&logoColor=white)](https://kubernetes.io/) [![Terraform](https://img.shields.io/badge/Terraform-IaC-7B42BC?style=for-the-badge&logo=terraform&logoColor=white)](https://www.terraform.io/) [![License](https://img.shields.io/badge/License-MIT-success?style=for-the-badge)](LICENSE) **这是一个生产级的参考实现,展示了现代工程团队如何大规模地设计、构建、保护、监控和运营云原生实时数据平台。**
## 平台架构

## 概述 现代企业每天处理数百万个事件——从金融交易和 IoT 遥测,到 AI 推理请求、应用日志和运营指标。 本仓库演示了如何使用现代云原生技术和平台工程最佳实践来设计和实现**生产级实时数据平台**。 本项目不局限于单一应用,而是重点关注底层平台,该平台使多个工程团队能够大规模地可靠摄取、处理、存储、保护、监控和提供实时数据。 它将**分布式系统**、**事件驱动架构**、**Kubernetes**、**基础设施即代码**、**可观测性**、**DevSecOps** 和 **AI 就绪基础设施**结合到一个具有凝聚力的统一工程平台中。 ## 核心能力 - 实时事件流 - 事件驱动架构 - 云原生平台工程 - 基于 Kubernetes 的基础设施 - 基础设施即代码 - GitOps 和 CI/CD 自动化 - 高性能 API 平台 - 生产级可观测性 - 安全设计 - AI 基础设施就绪 # 执行摘要 **企业级实时数据平台**是一项长期工程计划,展示了现代组织如何构建能够摄取、处理、存储、分析和提供大规模流数据的云原生平台。 该项目围绕**生产工程原则**设计,重点关注可扩展性、可靠性、可观测性、自动化和安全性,而不是简单地展示各种单一技术。 尽管最初的用例受**实时金融市场数据**启发,但平台架构有意设计为与特定领域无关,并可支持: - 金融市场数据平台 - AI 与机器学习流水线 - 物联网 - 安全与 SIEM 平台 - 实时分析 - 欺诈检测系统 - 企业事件处理 - 云可观测性平台 其目标是展示生产工程团队如何运用行业标准的工具和最佳实践,从基本原理出发设计现代平台。 # 平台能力 | 领域 | 能力 | |---------|------------| | 事件流 | 使用 Kafka / Redpanda 进行高吞吐量事件摄取 | | 数据处理 | 实时流处理和事件验证 | | 存储 | 时序数据库、关系型数据库、分析型数据库和内存数据库 | | API | 使用 FastAPI 构建的高性能 REST API | | 平台 | 基于 Kubernetes 原生的微服务架构 | | 基础设施 | 使用 Terraform 实现基础设施即代码 | | 可观测性 | 指标、日志、链路追踪、仪表盘和告警 | | 安全 | RBAC、策略执行、镜像扫描和机密管理 | | 自动化 | CI/CD、GitOps、自动化部署和测试 | | AI 就绪 | RAG、向量数据库和模型服务的基础 | # 技术栈 | 层级 | 技术 | |--------|--------------| | 编程语言 | Python | | API 框架 | FastAPI | | 流处理平台 | Kafka / Redpanda | | 容器化 | Docker | | 容器编排 | Kubernetes | | 基础设施即代码 | Terraform | | 数据库 | PostgreSQL · TimescaleDB · ClickHouse · Redis | | API 网关 | FastAPI Gateway | | 监控 | Prometheus · Grafana | | 日志 | Loki | | 分布式追踪 | OpenTelemetry · Tempo | | 安全 | RBAC · Kyverno · OPA · Trivy · Cosign | | CI/CD | GitHub Actions | | GitOps | Argo CD | | 包管理 | Helm | | 云平台 | Amazon Web Services (AWS) | # 涵盖的工程领域 本仓库有意涵盖多个工程学科,以展示现代企业平台的设计和实现。 | 工程学科 | 是否涵盖 | |-------------------------|:-------:| | 平台工程 | ✅ | | 云架构 | ✅ | | 基础设施即代码 | ✅ | | Kubernetes | ✅ | | 分布式系统 | ✅ | | 事件驱动架构 | ✅ | | 数据工程 | ✅ | | API 工程 | ✅ | | DevOps | ✅ | | 站点可靠性工程 | ✅ | | 可观测性 | ✅ | | DevSecOps | ✅ | | AI 基础设施 | ✅ | # 设计原则 本平台围绕以下工程原则进行构建: - 云原生设计 - 基础设施即代码 - 默认安全 - 平台优先于应用 - 事件驱动架构 - API 优先 - 自动化优先 - 生产级可观测性 - GitOps 工作流 - 可复用的平台组件 - 高可用性 - 水平可扩展性 - 运维简单性 - 工程文档优先 # 为什么会有这个项目 许多工程作品集只孤立地展示单一技术。 本仓库采取了不同的方法。 它不是展示孤立的示例,而是演示多种生产级技术如何协同工作,以构建一个可扩展、安全、可观测且云原生的工程平台。 其目标不仅是构建可运行的软件,还要记录在生产环境中运营现代分布式系统所需的架构决策、工程权衡、运维实践和部署策略。 # 平台架构 企业级实时数据平台遵循模块化的事件驱动架构,其中每个组件都负责特定的工程领域。 该平台将职责分离到独立的层级中,以提高可扩展性、可维护性、可观测性和运维韧性。 ``` Data Sources Financial Data • IoT • AI Events • Logs • Metrics │ ▼ Event Streaming Platform Kafka / Redpanda │ ┌────────────────┴────────────────┐ │ │ ▼ ▼ Stream Processing Event Validation │ │ └────────────────┬────────────────┘ ▼ Time-Series Storage PostgreSQL • TimescaleDB • ClickHouse • Redis │ ▼ Platform API Layer (FastAPI) │ Authentication • Authorization • APIs │ API Gateway Layer │ Dashboards • Applications • AI Services │ Kubernetes Production Platform │ Terraform • Helm • GitHub Actions • ArgoCD │ Prometheus • Grafana • Loki • Tempo ``` # 平台层级 | 层级 | 目的 | |--------|---------| | 数据源 | 生成流数据的模拟和外部事件生产者。 | | 流式传输层 | 使用 Kafka 或 Redpanda 进行可靠的事件摄取。 | | 处理层 | 事件验证、转换、富化和路由。 | | 存储层 | 针对事务性、分析性和时序工作负载优化的数据库。 | | 服务层 | 暴露平台能力的 FastAPI 微服务。 | | 平台层 | Kubernetes、Terraform、Docker、Helm 和 GitOps 自动化。 | | 可观测性层 | 指标、日志、链路追踪、仪表盘和告警。 | | 安全层 | 身份验证、RBAC、策略执行、镜像扫描和机密管理。 | # 仓库组织 本仓库的组织结构反映了工程团队如何构建生产级平台项目。 | 目录 | 目的 | |-----------|---------| | `architecture/` | 架构图、ADR、网络、可扩展性、灾难恢复和设计文档。 | | `docs/` | 项目文档、部署指南、工程决策和运维手册。 | | `infrastructure/` | 使用 Terraform 进行云资源预配的基础设施即代码。 | | `kubernetes/` | Kubernetes 清单、Helm Charts、命名空间、RBAC、自动扩缩容、存储和网络。 | | `services/` | 实现平台功能的独立 FastAPI 微服务。 | | `shared/` | 可复用的库、身份验证、日志记录、配置、schema 和实用工具。 | | `streaming/` | Kafka / Redpanda 生产者、消费者、schema 和事件处理逻辑。 | | `databases/` | PostgreSQL、TimescaleDB、ClickHouse、Redis、迁移和备份策略。 | | `monitoring/` | Prometheus、Grafana、Loki、Tempo、OpenTelemetry、仪表盘和告警。 | | `security/` | RBAC、Kyverno、OPA 策略、Trivy 扫描、供应链安全和审计文档。 | | `testing/` | 单元测试、集成测试、API 测试、性能测试、负载测试和混沌测试。 | | `benchmarks/` | 性能报告、延迟测量、吞吐量分析和资源利用率。 | | `scripts/` | 用于部署、备份、健康检查和维护的自动化脚本。 | | `tools/` | 平台实用工具,包括数据生成器、市场模拟器和负载生成器。 | | `ai/` | AI 基础设施组件,包括向量数据库、embeddings、RAG、特征存储和模型服务。 | # 核心平台组件 该平台由几个独立的服务组成,这些服务共同构成了一个完整的生产级数据平台。 | 组件 | 职责 | |-----------|----------------| | 市场模拟器 | 生成逼真的实时事件流。 | | 流处理平台 | 使用 Kafka / Redpanda 进行可靠的事件投递。 | | 处理引擎 | 验证、富化和路由事件。 | | 数据存储 | 存储事务性、分析性和历史数据。 | | API 网关 | 为应用程序和服务暴露安全的 REST API。 | | 身份验证服务 | 身份、身份验证和授权。 | | 监控栈 | 指标、日志、链路追踪、仪表盘和告警。 | | 平台自动化 | CI/CD、GitOps、基础设施即代码和 Kubernetes 部署。 | # 数据流 典型事件通过以下工作流在平台中流转: ``` Market Simulator │ ▼ Kafka / Redpanda │ ▼ Consumer Services │ ▼ Validation & Transformation │ ▼ TimescaleDB / PostgreSQL / ClickHouse │ ▼ FastAPI Services │ ▼ API Gateway │ ▼ Applications / Dashboards / AI Services ``` # 架构目标 该架构在设计时设定了以下生产目标: - 高吞吐量事件处理 - 水平可扩展性 - 松散的服务耦合 - 事件驱动通信 - 云原生部署 - 基础设施即代码 - 生产级可观测性 - 自动化运维 - 安全设计 - 故障隔离 - 灾难恢复 - AI 基础设施就绪 # 工程决策 本平台中的每一项技术选择都是为了解决特定的工程问题,而不是简单地展示对某个工具的熟悉程度。 其目标是使用广泛采用的云原生技术,构建一个可维护、可扩展、安全且可观测的生产级平台。 # 技术选型 ## 编程语言 | 技术 | 原因 | |------------|--------| | Python | 在 API、数据工程、自动化、AI 和平台工具方面拥有出色的生态系统。 | ## API 层 | 技术 | 原因 | |------------|--------| | FastAPI | 高性能异步框架,具备自动生成 OpenAPI 文档、类型验证和出色的开发者体验。 | ## 事件流 | 技术 | 原因 | |------------|--------| | Redpanda | 兼容 Kafka 的流处理平台,简化了运维并降低了本地开发的资源消耗。 | | Apache Kafka | 行业标准的分布式事件流平台,适用于生产级工作负载。 | ## 数据存储 | 技术 | 目的 | |------------|---------| | PostgreSQL | 关系型事务数据库 | | TimescaleDB | 高性能时序存储 | | ClickHouse | 分析型工作负载和报表 | | Redis | 缓存、会话存储和高速数据访问 | 使用多种数据库展示了如何根据工作负载选择合适的存储技术,而不是在所有用例中依赖单一数据库。 ## 基础设施 | 技术 | 原因 | |------------|--------| | Docker | 一致的开发和部署环境 | | Kubernetes | 容器编排、扩缩容、自愈和生产级部署 | | Helm | Kubernetes 包管理 | | Terraform | 用于可复现云环境的基础设施即代码 | ## 可观测性 | 技术 | 职责 | |------------|----------------| | Prometheus | 指标采集 | | Grafana | 可视化和仪表盘 | | Loki | 集中式日志记录 | | Tempo | 分布式链路追踪 | | OpenTelemetry | 统一的遥测埋点 | 这些技术结合在一起,提供了跨指标、日志和链路追踪的完整平台可观测性。 ## 安全 | 技术 | 职责 | |------------|----------------| | RBAC | 访问控制 | | Kyverno | Kubernetes 策略执行 | | OPA | 策略即代码 | | Trivy | 容器镜像漏洞扫描 | | Cosign | 容器镜像签名和供应链安全 | ## 自动化 | 技术 | 职责 | |------------|----------------| | GitHub Actions | 持续集成 | | Argo CD | GitOps 持续部署 | | Make | 开发者自动化 | | Docker Compose | 本地开发环境 | # 架构决策记录 (ADR) 主要的架构决策将使用架构决策记录 (ADR) 进行文档化。 每条 ADR 包含: - 背景 - 问题陈述 - 备选方案 - 决策 - 后果 - 权衡 示例包括: | ADR | 描述 | |-----|-------------| | ADR-001 | 为什么选择 Kubernetes 而不是 Docker Swarm | | ADR-002 | 为什么本地开发选择 Redanda 而不是 Apache Kafka | | ADR-003 | 为什么时序存储选择 TimescaleDB | | ADR-004 | 为什么选择 FastAPI 而不是 Flask | | ADR-005 | 为什么使用 Terraform 作为基础设施即代码 | | ADR-006 | 为什么使用 OpenTelemetry 进行分布式追踪 | | ADR-007 | 为什么使用 Argo CD 进行 GitOps | # 工程权衡 没有完美的工程决策。 本项目有意记录了每次架构选择背后的权衡。 示例包括: | 决策 | 权衡 | |----------|-----------| | Kubernetes | 以更高的运维复杂性换取可扩展性和韧性 | | 微服务 | 以增加的部署复杂性换取模块化和独立扩缩容 | | 事件驱动架构 | 以最终一致性换取松散耦合和可扩展性 | | 多种数据库 | 以增加的运维开销换取工作负载优化 | | 基础设施即代码 | 以较高的初期投资换取长期的运维一致性 | 理解这些权衡是生产工程的关键部分。 # 工程标准 该平台在每个服务中都遵循一致的工程标准。 ## 代码质量 - 静态分析 - 类型提示 - 单元测试 - 集成测试 - Linting - 代码格式化 - 文档 ## 基础设施 - 基础设施即代码 - 不可变基础设施 - 版本控制的配置 - GitOps 部署 - 自动化预配 ## 运维 - 健康检查 - 指标采集 - 集中式日志记录 - 分布式链路追踪 - 告警 - 备份策略 - 灾难恢复 ## 安全 - 最小权限原则 - 机密管理 - 容器扫描 - 签名的容器镜像 - 策略执行 - 安全的供应链 # 平台设计目标 该平台旨在实现以下工程目标: - 高可用性 - 容错性 - 水平可扩展性 - 运维简单性 - 生产级可观测性 - 云可移植性 - 自动化优先 - 默认安全 - 开发者生产力 - AI 基础设施就绪 # 仓库理念 本仓库被有意构建为一个长期的工程计划,而不是一个教程项目。 每个组件的开发都考虑到了生产工程实践,包括文档、测试、自动化、可观测性和安全性。 其目标是不仅展示如何实现现代云原生平台,还展示工程团队如何思考架构、卓越运营和长期的可维护性。 # 入门指南 本仓库旨在为构建现代云原生实时数据平台提供完整的参考实现。 该平台将同时支持本地开发和生产级的 Kubernetes 部署。 # 开发环境 推荐的开发环境包括: | 组件 | 版本 | |-----------|----------| | Python | 3.12+ | | Docker | 最新版 | | Docker Compose | 最新版 | | Kubernetes | v1.31+ | | Helm | v3+ | | Terraform | v1.9+ | | Git | 最新版 | | Make | 最新版 | # 仓库设置 克隆仓库 ``` git clone git@github-personal:Siva-Prasad-Palagiri/enterprise-real-time-data-platform.git cd enterprise-real-time-data-platform ``` # 本地开发工作流 预期的本地开发工作流是: ``` Clone Repository ↓ Configure Environment Variables ↓ Start Local Infrastructure ↓ Run Platform Services ↓ Generate Streaming Data ↓ Observe Metrics ↓ Develop Features ↓ Run Tests ↓ Commit Changes ``` # 计划中的本地平台 本地平台最终将运行以下服务: | 服务 | 目的 | |----------|---------| | Redpanda | 事件流 | | PostgreSQL | 关系型存储 | | TimescaleDB | 时序存储 | | Redis | 缓存 | | FastAPI 服务 | API | | Prometheus | 指标 | | Grafana | 仪表盘 | | Loki | 日志记录 | | Tempo | 分布式追踪 | # 计划中的 Docker Compose 技术栈 本地环境将使用以下命令启动: ``` docker compose up -d ``` 预期的服务: ``` Redpanda ↓ PostgreSQL ↓ TimescaleDB ↓ Redis ↓ FastAPI ↓ Prometheus ↓ Grafana ↓ Loki ↓ Tempo ``` # Kubernetes 部署 生产部署计划使用结合 Helm 和 GitOps 的 Kubernetes。 部署工作流: ``` Git Push ↓ GitHub Actions ↓ Container Build ↓ Container Registry ↓ Argo CD ↓ Kubernetes Cluster ↓ Monitoring Stack ``` # 基础设施预配 云基础设施将使用 Terraform 进行预配。 基础设施包括: - VPC - 网络 - IAM - Amazon EKS - 托管数据库 - 对象存储 - 监控资源 所有基础设施都将受版本控制且可复现。 # 配置 应用配置将通过以下方式进行管理: - 环境变量 - Kubernetes ConfigMaps - Kubernetes Secrets - Terraform 变量 敏感信息永远不会被提交到代码仓库中。 # 环境变量 配置示例: ``` ENVIRONMENT=development POSTGRES_HOST=localhost POSTGRES_PORT=5432 REDIS_HOST=localhost KAFKA_BOOTSTRAP_SERVERS=localhost:9092 API_PORT=8000 ``` 完整的配置示例可在以下位置找到: ``` .env.example ``` # 开发者命令 常用的开发命令: ``` make setup make lint make test make format make up make down make clean ``` # 计划中的 CI/CD 工作流 每次代码更改最终都将通过以下流水线: ``` Developer Commit ↓ GitHub Actions ↓ Lint ↓ Unit Tests ↓ Integration Tests ↓ Security Scan ↓ Docker Build ↓ Deploy ↓ Smoke Tests ``` # 仓库导航 | 目录 | 描述 | |-----------|-------------| | architecture | 架构文档 | | docs | 工程文档 | | infrastructure | Terraform 模块 | | kubernetes | Kubernetes 清单 | | services | 平台微服务 | | streaming | 事件流组件 | | monitoring | 可观测性技术栈 | | security | 平台安全 | | testing | 测试套件 | | benchmarks | 性能报告 | | ai | AI 基础设施 | # 文档 本仓库有意采用文档驱动的方式。 每一个主要的工程决策都将附带: - 架构图 - 设计文档 - 部署指南 - ADR(架构决策记录) - 运维手册 - 故障排除指南 # 开发理念 该平台采用垂直切片的方式进行增量开发。 每个里程碑在进入下一阶段之前都会交付一个完整且可运行的功能。 当前的实现路线图: ``` Repository Foundation ↓ Streaming Platform ↓ Storage Layer ↓ API Layer ↓ Kubernetes Platform ↓ Observability ↓ Production Hardening ↓ AI Infrastructure ``` # 项目路线图 企业级实时数据平台正在使用生产工程原则进行增量开发。 每个里程碑交付的不是孤立的功能,而是一个经过充分测试、文档化、可监控并可扩展的、完整运行的平台能力。 该路线图有意识地反映了工程团队如何在生产环境中构建现代云原生平台。 # 当前项目状态 | 阶段 | 状态 | 进度 | |--------|:------:|:-------:| | 仓库基础 | ✅ 已完成 | 100% | | 文档 | 🚧 进行中 | 70% | | 数据平台 | ⏳ 已规划 | 0% | | 平台服务 | ⏳ 已规划 | 0% | | Kubernetes 平台 | ⏳ 已规划 | 0% | | 可观测性 | ⏳ 已规划 | 0% | | 生产就绪 | ⏳ 已规划 | 0% | | AI 基础设施 | ⏳ 已规划 | 0% | # 开发路线图 ## 第一阶段 — 仓库基础 ### 目标 建立项目基础、文档、架构和工程标准。 ### 交付物 - 仓库结构 - 工程文档 - 架构图 - 技术选型 - README - ADR 文档 - 路线图 - 仓库品牌化 ## 第二阶段 — 实时数据层 ### 目标 构建事件摄取平台。 ### 交付物 - 市场数据模拟器 - Kafka / Redpanda - 生产者 - 消费者 - Schema 验证 - 死信队列 - 事件处理 - TimescaleDB - PostgreSQL - Redis ## 第三阶段 — 平台服务 ### 目标 通过生产级 API 暴露平台能力。 ### 交付物 - FastAPI - 身份验证 - 授权 - 共享库 - REST API - API 网关 - OpenAPI 文档 - 健康检查端点 ## 第四阶段 — 云平台 ### 目标 使用云原生技术部署平台。 ### 交付物 - Docker Compose - Kubernetes - Helm - Terraform - Amazon EKS - GitOps - Argo CD ## 第五阶段 — 可观测性 ### 目标 提供对平台的完整可见性。 ### 交付物 - Prometheus - Grafana - Loki - Tempo - OpenTelemetry - 仪表盘 - 告警 - 分布式追踪 ## 第六阶段 — 生产就绪 ### 目标 为生产部署准备平台。 ### 交付物 - GitHub Actions - CI/CD - 安全扫描 - 负载测试 - 混沌工程 - 备份策略 - 灾难恢复 - 基准测试报告 ## 第七阶段 — AI 基础设施 ### 目标 将平台转化为 AI 就绪的工程平台。 ### 交付物 - 向量数据库 - Embedding 服务 - 特征存储 - RAG 流水线 - 模型服务 - AI 网关 - LLM 集成 # 计划中的里程碑 | 里程碑 | 描述 | |-----------|-------------| | M1 | 仓库基础 | | M2 | 流处理平台 | | M3 | 数据存储平台 | | M4 | FastAPI 平台 | | M5 | Kubernetes 部署 | | M6 | 可观测性技术栈 | | M7 | 生产自动化 | | M8 | AI 基础设施 | # 发布策略 本项目遵循增量发布策略。 | 版本 | 计划功能 | |----------|-----------------| | v0.1.0 | 仓库基础 | | v0.2.0 | 流处理平台 | | v0.3.0 | 存储平台 | | v0.4.0 | API 平台 | | v0.5.0 | Kubernetes 平台 | | v0.6.0 | 可观测性 | | v0.7.0 | 生产强化 | | v1.0.0 | AI 基础设施平台 | # 长期愿景 本项目的长期目标是发展成为构建企业级实时数据平台的综合参考实现。 到版本 1.0 完成时,该仓库将展示: - 平台工程 - 云架构 - Kubernetes - 基础设施即代码 - 事件流 - 分布式系统 - 可观测性 - DevSecOps - AI 基础设施 - 生产工程 # 工程目标 本仓库旨在展示以下方面的实践经验: - 构建可扩展的分布式系统 - 设计生产级云平台 - 应用基础设施即代码 - 运维 Kubernetes 工作负载 - 实施现代可观测性 - 保护云原生应用 - 构建可复用的工程平台 - 设计 AI 就绪的基础设施 # 成功标准 当项目展示了以下内容时,即视为完成: - 生产级架构 - 全自动化的基础设施 - 云原生部署 - 全面的监控 - 安全的软件供应链 - CI/CD 自动化 - AI 基础设施集成 - 完整的工程文档 # 持续改进 本仓库被有意设计为一项长期的工程计划。 随着技术的发展,将整合新的架构模式、平台能力和工程实践,以确保平台持续反映现代生产工程标准。 # 文档索引 本仓库是文档驱动的。每一个主要的工程决策、平台能力和部署工作流都有文档记录,使项目易于理解、运维和扩展。 | 文档 | 描述 | |--------------|-------------| | `README.md` | 项目概述和架构 | | `docs/` | 工程文档和指南 | | `architecture/` | 架构图和设计决策 | | `infrastructure/` | Terraform 模块和云预配 | | `kubernetes/` | Kubernetes 清单和 Helm Charts | | `monitoring/` | 可观测性技术栈配置 | | `security/` | 安全策略和运维指导 | # 架构决策记录 (ADR) 架构决策使用 ADR 进行记录,以捕捉重要技术选择背后的原因。 示例包括: - ADR-001 – Kubernetes 平台选择 - ADR-002 – Redpanda 对比 Apache Kafka - ADR-003 – 用于时序数据的 TimescaleDB - ADR-004 – 作为 API 框架的 FastAPI - ADR-005 – 用于基础设施即代码的 Terraform - ADR-006 – 用于分布式追踪的 OpenTelemetry - ADR-007 – GitOps 部署策略 每条 ADR 记录包含: - 背景 - 问题陈述 - 考虑的选项 - 最终决策 - 工程权衡 - 长期影响 # 贡献 欢迎贡献。 无论您是对平台工程、云原生技术、Kubernetes、分布式系统、可观测性还是 AI 基础设施感兴趣,我们都非常感谢您的贡献。 在提出 Issue 或 Pull Request 之前,请查阅: - CONTRIBUTING.md - CODE_OF_CONDUCT.md - SECURITY.md # 报告问题 如果您发现错误或有功能请求,请创建一个 GitHub Issue 并包含: - 环境 - 预期行为 - 实际行为 - 复现步骤 - 相关日志 - 建议的解决方案(如有) # 安全 在整个项目中,安全被视为头等工程问题。 安全实践包括: - 最小权限原则 - 基础设施即代码 - RBAC - 网络策略 - 机密管理 - 镜漏洞扫描 - 供应链安全 - 策略即代码 - 安全的 CI/CD 流水线 如果您发现安全问题,请遵循 `SECURITY.md` 中描述的负责任的披露流程。 # 测试策略 质量通过多层测试来验证。 | 测试类型 | 目的 | |-----------|---------| | 单元测试 | 验证单个组件 | | 集成测试 | 验证服务交互 | | API 测试 | 验证平台 API | | 性能测试 | 测量吞吐量和延迟 | | 负载测试 | 验证可扩展性 | | 混沌测试 | 评估韧性和恢复能力 | # 未来增强 平台将继续演进以展示现代工程实践。 计划的增强功能包括: - 多集群 Kubernetes - 多云部署 - 服务网格 - 事件重放 - Schema Registry - 数据目录 - AI 网关 - 模型注册表 - 特征存储 - 向量数据库 - RAG 平台 - LLM 网关 - 自助开发者门户 - 成本优化仪表盘 - 平台分析 # 学习目标 本项目作为一个长期的工程计划,旨在加强以下领域的专业技能: - 平台工程 - 云架构 - 基础设施即代码 - Kubernetes - 分布式系统 - 事件驱动架构 - 数据工程 - DevSecOps - 站点可靠性工程 - AI 基础设施 # 仓库状态 本仓库正在使用生产工程实践进行增量构建。 每个里程碑在进入下一阶段之前,都会引入一个经过完整文档记录、测试且面向生产的能力。 路线图和文档将随着新平台组件的实现而不断演进。 # 许可证 本项目基于 MIT 许可证授权。 有关更多信息,请参见 [LICENSE](LICENSE) 文件。 # 关于作者 ## Siva Prasad Palagiri 创始人 — CloudOps Velocity 云架构 • 平台工程 • AI 基础设施 专注于使用 Kubernetes、基础设施即代码、现代可观测性和生产工程最佳实践来设计安全、可扩展的云原生平台。 # 联系方式 - 网站:https://www.cloudopsvelocity.com - LinkedIn:https://www.linkedin.com/in/sivaprasad-palagiri/ - GitHub:https://github.com/Siva-Prasad-Palagiri # 鸣谢 本项目的灵感来自领先的云原生组织和开源社区所采用的工程实践,包括云原生计算基金会 (CNCF)、Kubernetes 生态系统、Prometheus、Grafana、OpenTelemetry、HashiCorp 以及更广泛的平台工程社区。
## ⭐ 如果您觉得这个仓库有用,请考虑给它点个 Star。 ### 构建生产级平台,而不仅仅是应用。