🔥 DamiBus v0.54 发布,1000 万发事件/秒


OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代

DamiBus,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖。

特点

结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作响应订阅。

  • 支持事务传导(同步分发、异常透传)
  • 支持事件标识、拦截器(方便跟踪)
  • 支持监听者排序、附件传递(多监听时,可相互合作)
  • 支持 Bus 和 Api 两种体验风格

与常见的 EventBus、ApiBean 的区别

  DamiBus EventBus Api DamiBus 的情况说明
广播 发送(send) + 监听(listen)
以及 Api 模式
应答 发送并请求(sendAndRequest) + 监听(listen) + 答复(reply)
以及 Api 模式
回调 有+ 有- 发送并订阅(sendAndSubscribe) + 监听(listen) + 答复(reply)
耦合 弱- 弱+ 强++  

如果涉及类加载器隔离:请在主程序标为编译,在其它模块标为可选。

本次更新了什么?

  • 修复 TopicDispatcherDefault::dispatch MDC 添加后没有移除的问题
  • 添加 DamiBus::unlisten 取消主题的所有监听
  • 添加 IdGenerator 接口(支持自定义id生成)
  • 调整 Payload::getGuid 更名为 getPlid
  • 调整 MDC(dami-guid)更名为 dami-plid

更换新的 id 生成方案后,1000万个事件1秒左右可发完:

public class SendTest {
public static void main(String[] args) {
Dami.bus().listen("test.demo", e -> { });

long start = System.currentTimeMillis();
for (int i = 1; i < 10000000; i++) {
Dami.bus().send("test.demo", "1");
}
System.out.println(System.currentTimeMillis() - start);
}
}

疑问: 为什么不用分布式消息队列呢?不好意思,真的是不同的维度事儿。

项目地址

  • https://gitee.com/noear/dami
  • https://github.com/noear/dami

相關推薦

2023-12-13

DamiBus,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖。 特点 结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作响应订阅。 支持事务传导(同步分发、异常透传) 支持

2025-05-23

DamiBus,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖。 特点 结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作响应订阅。 支持事务传导(同步分发、异常透传) 支持

2023-09-23

据技术都能四世同堂,凭什么开发 30 岁就要被干掉? DamiBus,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖,特适合 DDD。 特点 结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用

2023-09-28

DamiBus,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖,特适合 DDD。 特点 结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作异步响应。 支持事务传导(同步分发、异常透

2023-10-15

DamiBus,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖,特适合 DDD。 特点 结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作响应订阅。 支持事务传导(同步分发、异常透

2025-05-18

基于Netty TCP与kaka-core领域事件的轻量级RPC框架,相比其它使用各种繁杂设计模式的框架,本框架仅10多个类实现,可谓是极简编码。 基础通信 事件驱动 自定义心跳协议或基于rpc调用的心跳处理 断线重连 同步、future异

2022-04-18

1 分 39 秒。在 exFAT 的 64KB cluster 大小的情况下,创建 1000 个目录的时间从 3 分 34 秒缩短到了 56 秒。 目前,这一补丁已被列为 Linux exFAT 文件系统驱动程序开发分支的一部分,本次性能改进也预计在今年夏天登陆 Linux 5.19 内

2025-05-09

动开发,融合生态应用已完成适配300+,同时已支持超过1000款外设,预计到年底将支持超过2000个应用。 据数码博主小白测评,此次鸿蒙PC可以直接使用鸿蒙NEXT手机、平板应用。鸿蒙PC目前的适配除了各种应用外,还适配了显示

2025-03-30

息联动展示导致内存升高,分析时消息刷新机制的问题,事件机制刷新改成bind和Observable机制刷新,内存占用降了很多。频繁滑动大消息列表时,内存占用升高,分析发现是用户头像的缘故,因此增加缓存图片,使用WeakReference缓

2023-08-24

Solon 是什么? Java 生态型应用开发框架。从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模)。与其他框架相比,它解决了两个重要的痛点:启动慢,费内存。2023年6月,Maven 单月下载量突

2023-09-01

外开源 2022年7月,建立官网,发力推广 2023年2月,v2.0 发布。官网增加 Solon Initializr,用于生成项目模板。 2023年4月,成为信通院可信开源社区、可信开源项目。Maven 单月下载量突破100万。代码提交数超 11000 次 2023年6月

2025-04-25

发表的评论数超过 1 亿(2024 年) 创作者每天平均收到 1000 万观众的“点赞”评论 YouTube 视频每天平均获得超过 35 亿个“点赞” 为了庆祝 20 周年,YouTube 宣布了几项即将推出的新功能。在未来几周内,YouTube TV 订阅用户

2023-02-03

新增重要功能 增加时光回溯功能 所谓时光回溯功能,就是加大视频流在服务器的缓存,可以通过配置publish下的buffertime来控制缓存多久。例如可以缓存7秒视频,那么服务器就会至少缓存7秒音视频数据,当我们需要

2024-07-23

控分析和告警能力。夜莺于 2020 年 3 月 20 日,在 github 上发布 v1 版本,已累计迭代 100 多个版本。 夜莺最初由滴滴开发和开源,并于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会(CCF ODC),为 CCF ODC 成立后接受捐