cn-ben基于最大努力通知的分布式事务解决方案

联合创作 · 2023-10-01 07:16

BEN(best-effort-notify)是基于最大努力通知的分布式事务解决方案。


中文文档





业务系统对接BEN


详细对接说明请查看《快速入门》和《对接示例说明


maven依赖


在业务系统的pom文件中引入ben-api最新版本依赖:


# 中央仓库: https://search.maven.org/search?q=ben-api
<dependency>
<groupId>com.gitee.nuliing</groupId>
<artifactId>ben-api</artifactId>
<version>${最新稳定版本}</version>
</dependency>

发送通知


步骤:



  • 构造通知参数BenNotify

  • 往消息队列发送通知对象(队列名:notify.queue,已定义为静态变量BenNotify.QUEUE


流程说明


假设两个业务系统的两个业务AB。基于BEN实现分布式事务流程如下:



  1. 上层业务系统在完成业务处理之后,向消息中间件发送通知消息。

  2. BEN系统监听通知消息队列,监听到通知消息后添加通知记录到数据库。

  3. 根据系统配置的通知时间,设置通知任务执行时间,放入DelayQueue

  4. 通知任务达到执行时候后,发送Http请求下层业务系统

  5. 添加通知日志到数据库。

浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报