排课计算、课表发布、补考自动编排三类任务统一接入消息系统。
业务任务与 Outbox 消息同一事务落库,避免“数据库成功但消息没发出去”。 RabbitMQ 使用持久化消息、发布确认、手动 ACK、Quorum Queue、死信队列。 增加处理租约、心跳、异常重试、最大重试次数和幂等状态控制。 保留 InMemory 模式,开发环境无需安装 RabbitMQ。 支持多实例竞争消费,后续可以横向扩容。 新增 /health/messaging 消息系统健康检查。
This commit is contained in:
@@ -9,6 +9,16 @@ ConnectionStrings__MySql="Server=db.example.edu.cn;Port=3306;Database=jiaowu;Use
|
||||
# Redis 是可选加速器;留空时应用仅使用进程内缓存。
|
||||
# ConnectionStrings__Redis="redis.example.edu.cn:6380,user=jiaowu,password=REPLACE_WITH_A_STRONG_PASSWORD,ssl=true,abortConnect=false"
|
||||
|
||||
# 单机可继续使用 InMemory;多实例生产部署建议启用 RabbitMQ。
|
||||
BackgroundJobs__Transport=InMemory
|
||||
# RabbitMq__HostName=rabbitmq.example.edu.cn
|
||||
# RabbitMq__Port=5671
|
||||
# RabbitMq__UserName=jiaowu
|
||||
# RabbitMq__Password=REPLACE_WITH_A_STRONG_PASSWORD
|
||||
# RabbitMq__VirtualHost=/jiaowu
|
||||
# RabbitMq__UseTls=true
|
||||
# RabbitMq__TlsServerName=rabbitmq.example.edu.cn
|
||||
|
||||
Cache__Enabled=true
|
||||
Cache__KeyPrefix=jiaowu:v1
|
||||
Cache__ReferenceExpirationMinutes=30
|
||||
|
||||
Reference in New Issue
Block a user