Skip to content

xiqing21/fluss-sgcc-architecture

Repository files navigation

Fluss SGCC 智能电网实时数据处理架构

请移步至 https://github.com/xiqing21/fluss-architecture-sgcc-project 本人这个仓库来测试,修复了各种bug并在 readme 里增加了新手友好的一键启动说明,请大家多多支持谢谢

基于 Fluss 流式存储的国家电网智能调度系统演示项目,展示流批一体、即席查询、原生UPSERT等核心特性。

🎯 项目概述

本项目展示了基于 Fluss 流式存储系统的智能电网实时数据处理架构,通过实际业务场景演示 Fluss 相较于传统 Kafka 架构的优势:

  • 流批一体:同一套SQL同时处理实时流和历史批量数据
  • 即席查询:直接查询Fluss表,无需外部存储,亚秒级响应
  • 原生UPSERT:支持数据更新删除,无需复杂changelog处理
  • Paimon集成:分层存储架构,热数据在Fluss,冷数据在Paimon

🏗️ 项目结构

fluss-sgcc-architecture/
├── 01_demos/                    # 🎪 Fluss特性演示
│   ├── fluss_features/         # 核心特性演示脚本
│   └── customer_service/       # 客户服务系统演示
├── 02_business_scenarios/       # 🏢 业务场景演示
│   └── sgcc_grid/             # 国网智能电网场景
├── 03_sql_scripts/             # 📝 SQL脚本集合
│   ├── fluss/                 # Fluss SQL脚本
│   └── postgres/              # PostgreSQL脚本
├── 04_documentation/           # 📚 项目文档
│   ├── project_docs/          # 项目文档
│   ├── technical_guides/      # 技术指南
│   └── troubleshooting/       # 故障排除
├── 05_tools_scripts/           # 🔧 工具脚本
│   ├── core/                  # 核心工具脚本
│   ├── validation/            # 验证测试脚本
│   └── demos/                 # 演示脚本
├── 06_infrastructure/          # 🏭 基础设施
│   ├── docker/                # Docker配置
│   └── postgres/              # PostgreSQL配置
├── 07_tests/                   # 🧪 测试验证
│   ├── reports/               # 测试报告
│   └── validation/            # 验证工具
└── 08_archive/                 # 📁 归档文件
    ├── legacy_code/           # 历史代码
    ├── backup_files/          # 备份文件
    └── windows/               # Windows平台文件

🚀 快速开始

1. 环境准备

# 克隆项目
git clone <repository-url>
cd fluss-sgcc-architecture

# 启动基础服务
docker-compose up -d

# 检查服务状态
docker-compose ps

2. 运行演示

# 运行完整的Fluss特性演示
./01_demos/fluss_features/complete_fluss_feature_demo.sh

# 或者运行特定特性演示
./01_demos/fluss_features/fluss_adhoc_query_demo.sh
./01_demos/fluss_features/realtime_update_demo.sh
./01_demos/fluss_features/fluss_paimon_integration_demo.sh

3. 业务场景体验

# 启动国网智能电网场景
./02_business_scenarios/sgcc_grid/分阶段启动融合测试.sh

# 运行业务场景测试
./05_tools_scripts/core/smart_sql_execution.sh ./03_sql_scripts/fluss/2_customer_service_system.sql

🎯 核心特性演示

1. 流批一体 (Stream-Batch Unity)

-- 同一套SQL处理实时流和历史批量数据
CREATE TABLE customer_service_tickets (
    ticket_id BIGINT,
    customer_id VARCHAR(50),
    agent_id VARCHAR(50),
    status VARCHAR(20),
    created_at TIMESTAMP,
    updated_at TIMESTAMP,
    PRIMARY KEY (ticket_id)
);

-- 实时流处理
SELECT agent_id, COUNT(*) as active_tickets
FROM customer_service_tickets
WHERE status = 'in_progress'
GROUP BY agent_id;

-- 历史批量分析
SELECT DATE(created_at) as date, COUNT(*) as daily_tickets
FROM customer_service_tickets
WHERE created_at >= '2024-01-01'
GROUP BY DATE(created_at);

2. 即席查询 (Ad-hoc Query)

-- 直接查询Fluss表,无需外部存储
SELECT 
    agent_id,
    AVG(TIMESTAMPDIFF(HOUR, created_at, updated_at)) as avg_resolution_time
FROM customer_service_tickets
WHERE status = 'resolved'
  AND created_at >= CURRENT_DATE - INTERVAL '7' DAY
GROUP BY agent_id
ORDER BY avg_resolution_time;

3. 原生UPSERT支持

-- 原生支持数据更新,无需复杂changelog处理
INSERT INTO customer_service_tickets VALUES
    (1001, 'CUST001', 'AGENT001', 'in_progress', '2024-01-15 10:00:00', '2024-01-15 10:00:00')
ON DUPLICATE KEY UPDATE
    status = 'resolved',
    updated_at = CURRENT_TIMESTAMP;

🏢 业务场景

智能客户服务工单系统

展示基于Fluss的智能客户服务工单处理系统:

  • 实时工单处理:工单状态实时更新和流转
  • 客服绩效监控:实时监控客服处理效率
  • 历史数据分析:批量分析历史工单趋势
  • 复杂查询支持:支持多维度分析查询

国网智能电网场景

完整的智能电网数据处理场景:

  • 电力数据实时采集:设备数据实时采集和处理
  • 智能调度系统:负荷预测和发电计划优化
  • 故障预警系统:异常检测和预警通知
  • 数据湖架构:ODS → DWD → DWS → ADS 分层处理

📊 性能对比

相比传统Kafka架构,Fluss展现出显著优势:

指标 传统Kafka架构 Fluss架构 提升
查询延迟 秒级 亚秒级 10x
存储成本 基准 柱状存储 30% ↓
开发效率 基准 统一SQL 50% ↑
架构复杂度 基准 简化架构 60% ↓

🔧 工具脚本

核心工具

  • smart_sql_execution.sh - 智能SQL执行脚本,解决会话终止问题
  • start_sgcc_fluss.sh - 一键启动国网Fluss环境
  • quick_verify_data.sh - 快速数据验证工具

验证测试

  • 一键启动全链路验证测试.sh - 完整验证流程
  • fluss_realtime_validation_test.sh - 实时功能验证
  • sgcc_validation_test.sh - 业务场景验证

📚 文档体系

项目文档

技术指南

故障排除

🧪 测试验证

测试类型

  • 功能测试:核心功能验证
  • 性能测试:吞吐量和延迟测试
  • 集成测试:端到端数据流测试
  • 压力测试:大数据量和高并发测试

性能基准

  • 数据处理速度:> 10,000 records/second
  • 查询响应时间:< 100ms
  • 数据同步延迟:< 1 second

🏭 基础设施

容器化部署

services:
  - zookeeper: 协调服务
  - kafka: 消息队列
  - fluss: 核心存储服务
  - postgres_source: 源数据库
  - postgres_sink: 目标数据库
  - flink: 流处理引擎

数据流架构

PostgreSQL Source → Fluss → Flink → PostgreSQL Sink
      ↓              ↓       ↓            ↓
   CDC Config    ODS Layer  Processing  ADS Layer

📈 项目亮点

1. 技术创新

  • 流批一体架构设计
  • 原生UPSERT支持
  • 柱状存储优化
  • 投影下推技术

2. 业务价值

  • 实时性:秒级数据处理
  • 准确性:统一数据源
  • 效率:简化架构
  • 成本:存储和计算优化

3. 开发体验

  • 统一SQL接口
  • 智能错误处理
  • 完整的文档体系
  • 自动化工具支持

🔍 使用建议

新手入门

  1. 阅读快速启动指南
  2. 运行基础演示了解核心特性
  3. 体验业务场景感受实际应用
  4. 查看文档深入了解技术细节

开发者

  1. 参考开发最佳实践
  2. 使用提供的工具脚本
  3. 遵循项目规范和约定
  4. 参与测试和验证

运维人员

  1. 了解基础设施配置
  2. 掌握故障排除方法
  3. 建立监控和告警机制
  4. 定期备份和维护

📝 版本历史

  • v4.0 (当前版本) - 项目重构和文档完善
  • v3.0 - Fluss特性演示系统
  • v2.0 - 业务场景扩展
  • v1.0 - 基础架构实现

🤝 贡献指南

欢迎提交Issue和Pull Request来改进项目:

  1. Fork本项目
  2. 创建特性分支
  3. 提交代码更改
  4. 创建Pull Request

📞 联系方式

  • 项目维护:技术团队
  • 问题反馈:GitHub Issues
  • 技术交流:项目讨论区

注意:本项目仅用于技术演示和学习,生产环境使用请进行充分测试和评估。

About

这个是 最新架构 fluss-flink-architecture 架构版

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published