🔥 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 的概念,可作事件分发,可作接口调用,可作响应订阅。 支持事务传导(同步分发、异常透传) 支持

2023-09-23

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

2023-09-28

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

2023-10-15

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

2022-04-18

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

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月

2023-02-03

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

2024-07-23

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

2023-11-04

百万 PV 的压力 2020 年优化一个单机 PHP 商城顶住了 QPS 1000+ 的压力 2021 年设计的分布式电商秒杀系统在实际业务中跑到了最高一分钟 GMV 500 万,QPS 10000+      

2024-08-10

标准化协会大数据技术标准推进委员会(CCSA TC601)重磅发布了《中国数据库产业图谱(2024)》,该图谱旨在全面客观展现我国数据库产业中的关键领域、环节和代表企业。SelectDB 作为全球最受技术人员认可的分析型数据库之一

2022-08-31

Chrome 105 发布啦,这个版本带来了 25 个新特性,以及 24 个已知的安全修复程序,新特性如下: 脚本和样式表上的“blocking=rendering”属性 允许将 'blocking=render' 作为属性和值放入 <script>、<style> 或样式表 <link> 使其

2023-06-07

Solon 是什么框架? 一个,Java 新的生态型应用开发框架。它从零开始构建,有自己的标准规范与开放生态(全球第二级别的生态)。与其他框架相比,它解决了两个重要的痛点:启动慢,费资源。 解决痛点? 由于Solon Bean

2023-11-03

户建议) 优化 mqtt-solon-cloud-plugin 重构代码,增加异步发布与并发消费模式(并改为异步接口)(感谢用户建议) 优化 mqtt5-solon-cloud-plugin 重构代码,增加异步发布与并发消费模式(并改为异步接口)(感谢用户建议) 增加