排课计算、课表发布、补考自动编排三类任务统一接入消息系统。
业务任务与 Outbox 消息同一事务落库,避免“数据库成功但消息没发出去”。 RabbitMQ 使用持久化消息、发布确认、手动 ACK、Quorum Queue、死信队列。 增加处理租约、心跳、异常重试、最大重试次数和幂等状态控制。 保留 InMemory 模式,开发环境无需安装 RabbitMQ。 支持多实例竞争消费,后续可以横向扩容。 新增 /health/messaging 消息系统健康检查。
This commit is contained in:
@@ -19,6 +19,25 @@
|
||||
"AnalyticsLocalExpirationSeconds": 30,
|
||||
"MaximumPayloadKilobytes": 2048
|
||||
},
|
||||
"BackgroundJobs": {
|
||||
"Transport": "InMemory",
|
||||
"PollIntervalMilliseconds": 500,
|
||||
"LeaseSeconds": 120,
|
||||
"PrefetchCount": 1,
|
||||
"Exchange": "jiaowu.background-jobs",
|
||||
"QueuePrefix": "jiaowu.background-jobs",
|
||||
"UseQuorumQueues": true,
|
||||
"ProcessingAttemptLimit": 5
|
||||
},
|
||||
"RabbitMq": {
|
||||
"HostName": "localhost",
|
||||
"Port": 5672,
|
||||
"UserName": "guest",
|
||||
"Password": "guest",
|
||||
"VirtualHost": "/",
|
||||
"UseTls": false,
|
||||
"TlsServerName": ""
|
||||
},
|
||||
"Jwt": {
|
||||
"Issuer": "Jiaowu.Api",
|
||||
"Audience": "Jiaowu.Web",
|
||||
|
||||
Reference in New Issue
Block a user