cn-ben 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
cn-ben 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
cn-ben 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
cn-ben 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
cn-ben 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

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. 添加通知日志到数据库。
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (5)

加载中
"上层业务系统在完成业务处理之后,向消息中间件发送通知消息" 怎么保证一致性?
2019/07/15 12:03
回复
举报
00后程序员软件作者
一种方式:可以使用可靠消息保证消息投递过程的一致性,参考: https://gitee.com/NuLiing/reliable-message。 我的另一个想法是:最大努力通知型方案使用非可靠消息,业务活动的被动方,根据定时策略,向业务活动主动方查询(主动方提供查询接口),恢复丢失的业务消息。
2019/07/26 16:45
回复
举报
支rabbitmq不?
2019/06/10 09:53
回复
举报
00后程序员软件作者
暂时不支持哈。后期版本会支持
2019/07/26 16:46
回复
举报
前排支持
2019/05/14 13:04
回复
举报
更多评论
发表于运维专区
2019/05/14 09:13

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

BEN(best-effort-notify)是基于最大努力通知的分布式事务解决方案。 中文文档 中文文档地址:https://www.showdoc.cc/cnben 业务系统对接BEN 详细对接说明请查看《快速入门》和《对接示例说明》 maven依赖 在业务系统的pom文件中引入ben-api最新版本依赖: # 中央仓库: https://search.maven.org/search?q=ben-api <dependency> <groupId>com.gitee.nuliing</groupId> <artifactId>ben-api</artifactId> <versio...

4
14
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/09/11 23:25

CN-Tacotron2 and a little CN-TTS (others)

Tacotron2-CN-Pytorch https://github.com/foamliu/Tacotron2-CN 按照requirement来, pip install --user XXX. arch包的名字不同, 在google上带arch去搜, sudo pacman -S gtk3. python demo.py ImportError: /usr/lib/libatk-bridge-2.0.so.0: undefined symbol: atk_object_get_accessible_id. 跟编译有关了, 先不跑这个版本. Tacotron2-Joee1995-mandarin-GL https://github.com/Joee1995/tacotron2-mandarin-griffin-lim 首先...

0
0
发表了博客
2013/08/06 17:26

什么是CN域名,注册CN域名有哪些注意事项?

什么是.CN域名 .CN域名也是国际顶级域名,是由我国(China)管理的国际顶级域名。也是属于地理顶级域名(ccTLD),地理顶级域名一般由各个国家或地区负责管理。当前cn域名在全球具有最大的市场。 1990年11月28日,钱天白又代表中国在国际互联网域名分配管理中心首次注册了我国的顶级域名CN,并在国外建立了我国第一台CN域名服务器,从此,中国有了自己的网上标识,中国的网络有了自己的身份标识。 中国互联网络信息中心(CNNIC)是C...

0
0
2014/06/29 19:39

.cn 域名的解析配置

增加3个A记录类型,主机记录(PR)分别是 * , A , @ . 保存即可。 CNMAE记录对cn域名解析无效。

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
5 评论
45 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部