feat: 落地聊天记录异步持久化基础设施

- 新增 chatlog 模块、AnalyticalDB 公共层与 common-mq Redis Streams 实现

- 建立 Redis 热态、MySQL 热数据、AnalyticalDB 历史查询与同步链路

- 收紧聊天记录幂等、摘要时序与持久化失败语义
This commit is contained in:
2026-04-05 11:35:05 +08:00
parent 1ecc28e498
commit 25e80433a5
105 changed files with 8050 additions and 2 deletions

View File

@@ -23,7 +23,7 @@ spring:
password: root
flyway:
enabled: true
locations: classpath:db/migration
locations: classpath:db/migration/mysql
baseline-on-migrate: false
validate-on-migrate: true
clean-disabled: true
@@ -79,6 +79,49 @@ easyflow:
chat:
# SSE 超时时间(毫秒),默认 10 分钟,可按需调整
sse-timeout-ms: 600000
cache:
session-list-ttl: 300s
session-summary-ttl: 600s
session-tail-ttl: 1800s
tail-size: 50
sync:
#是否启用分析数据同步,启用分析数据库后,此处应同步开启
enabled: true
batch-size: 500
fixed-delay: 30000
repair-lookback-days: 3
retention-months: 3
mq:
enabled: true
type: redis
redis:
database: 1
stream-prefix: easyflow:mq
chat-persist-shard-count: 4
consumer-batch-size: 200
consumer-block-timeout: 2000ms
pending-claim-idle: 60000ms
max-retry: 16
analytical-db:
# 是否启用分析数据库
enabled: true
url: jdbc:clickhouse://127.0.0.1:38123/easyflow?jdbc_ignore_unsupported_values=true&socket_timeout=30000&compress=false&ssl=false
username: easyflow
password: 123456
driver-class-name: com.clickhouse.jdbc.ClickHouseDriver
pool:
max-pool-size: 10
min-idle: 1
connection-timeout: 5000
validation-timeout: 3000
idle-timeout: 600000
max-lifetime: 1800000
flyway:
analytical-db:
locations: classpath:db/migration/analyticaldb
table: flyway_schema_history_analytical_db
baseline-on-migrate: false
validate-on-migrate: true
# 语音播放、识别服务(阿里云)
audio:
type: aliAudioService
@@ -168,7 +211,7 @@ rag:
searcher:
# 搜索方式 默认lucene
lucene:
indexDirPath: ./luceneKnowledge
indexDirPath: /Users/slience/data/easyflow/luceneKnowledge
elastic:
host: https://127.0.0.1:9200
userName: elastic