DamiBus 0.56,本地多模块调用框架(1000 万/秒)


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

特点

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

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

与常见的 EventBus、ApiBean 的区别

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

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

本次更新了什么?

  • 添加 DamiBus::sendAndRequest 带超时的接口
  • solon 升为 1.6.2

性能测试?

瞬发 1000万个事件,1秒左右可发完(基于 jdk11 测试):

public class SendTest {
static Integer count = 0;

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

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

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

项目地址

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

相關推薦

2023-10-24

OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代 DamiBus,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖。 特点 结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作响应订

2023-09-28

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

2023-09-23

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

2023-10-15

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

2021-11-22

器时,可以通过登录服务器,查看log4j之类的框架打印到本地文件的日志。当日志多起来后,可以用elk三剑客处理日志。 当日志量进一步增多,我们可以上消息队列,譬如kafka之类来承接,然后消费入库。或者写本地文件,再

2023-08-25

全身心投入开发,Furion v5 版本已经完成了 17 个底层核心模块,并初步完成了 Furion Kit 框架工具库的 UI 功能设计和开发。Furion Kit 框架工具库将为开发者带来全新的开发体验。在这个工具库中,你可以查看项目信息,管理请求、

2022-11-03

] 当前用户组返回逻辑处理 [系统优化] 远程文件拉取到本地时超时时间调整为600秒 [系统优化] 魔众API相关接口调用超时时间调整为600秒 [系统优化] 文件处理工具类权限异常时屏蔽错误信息 [系统优化] 富文本编辑器UEdito

2023-09-12

元共进|2023 Google 开发者大会精彩演讲回顾 Dami,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖,特适合 DDD。 特点 结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作异步

2023-10-27

模型论坛 (Frontier Model Forum) 首任执行董事。并宣布设立 1000 万美元的 AI 安全基金,“以推动正在进行的工具开发研究,帮助社会能够有效地测试和评估最有能力的 AI 模型。” 前沿模型论坛由微软、OpenAI、谷歌和 Anthropic 在今年

2023-11-04

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

2023-11-15

Java 的工作机会大多要求份非常丰富的经验,Spring 等 Java 框架也是该行业的高薪职位。Java 开发人员的平均年薪约为 11.8 万美元。 平均工资:~$118k 薪资中位数:$117k 发现的工作数量(带薪水):23K 个 查看具体的 Java

2024-08-16

协同运算,deepin V23能够胜任各种实用性的AI应用,特别是本地推理能力。GPU的高吞吐和图形处理能力、NPU的低功耗专用AI算法能力以及CPU的低延迟逻辑运算能力,共同构成了deepin V23强大的AI计算能力。”田俊表示。 国民级办公

2022-10-03

整的封装了底层通信细节,开发时调用远程服务就像调用本地服务,在提供远程调用能力时不损失本地调用的语义简洁性; 3、多调用方案:支持 SYNC、ONEWAY、FUTURE、CALLBACK 等方案; 4、多通讯方案:支持 TCP 和 HTTP 两种通讯方

2023-07-12

不受限制地使用。未来几年,SUSE 计划向该项目投资超过 1000 万美元。 SUSE 首席执行官 Dirk-Peter van Leeuwen 表示:“几十年来,协作和共同成功一直是我们开源社区的基石。我们有责任捍卫这些价值观。这项投资将在未来几年保