1.8 KiB
1.8 KiB
Event Bridge Service 模块指引
职责边界
- 负责跨区域事件接收、内部令牌保护、契约校验和 Inbox 幂等持久化。
- 事件模型来自
common-event-contract/;本服务不共享国内/国外业务数据库,也不承载头程或尾程领域逻辑。 - 真实跨区发送、重试调度和死信补投仍需按需求继续完善,不把当前接收骨架描述为完整消息平台。
快速索引
| 功能 | 入口 |
|---|---|
| 应用入口 | src/main/java/com/baiyue/eventbridge/EventBridgeApplication.java |
| 事件接收与状态 API | controller/EventBridgeController.java(/internal/event-bridge) |
| 接收结果与状态 DTO | dto/EventReceiveResult.java、BridgeStatus.java |
| 校验与 Inbox 编排 | service/EventInboxService.java |
| Inbox 抽象与 MyBatis 实现 | service/InboxStore.java、MybatisInboxStore.java |
| Inbox 数据模型 | domain/BridgeInbox.java、mapper/BridgeInboxMapper.java |
| 内部服务令牌 | security/InternalServiceTokenGuard.java |
| 表结构 | src/main/resources/db/event-bridge.sql |
| 测试 | src/test/java/com/baiyue/eventbridge/security/、service/ |
| 架构边界 | ../docs/two-repository-split.md、../docs/repository-boundary.md |
修改与验证
- 先使用
common-event-contract校验事件 ID、区域、版本、业务键、时间与 Payload 哈希,再执行幂等入库。 - 重复事件应返回稳定结果且不重复产生副作用;数据库唯一约束与应用幂等逻辑要同步。
- 跨区域接口必须鉴权、限流并最小化载荷,禁止携带密钥或非必要客户敏感数据。
- 契约变化先遵守
../common-event-contract/AGENTS.md的兼容规则,并检查国内外消费者。 - 从父目录运行
mvn -pl event-bridge-service -am test。