🔥 DamiBus v1.0.6 发布


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

特点

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

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

与常见的 EventBus、ApiBean 的区别

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

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

本次更新了什么?

  • 添加 Dami.newBus() 新建实例方法
  • 添加 DamiBus:sendAndRequest(topic, content, def) 方法
  • 调整 no matching listener 的日志级别(warn 改为 debug)

性能测试?

瞬发 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

相關推薦

2022-10-17

妙码生花 - BuildAdmin v1.0.6 已经发布,后台管理系统 此版本更新内容包括: Table组件增加多个插槽位,提供el-table-column支持 增加WEB端文件上传扩展文件 增加文件上传前的类型与大小检查 增加文件单位转字节的函数 增加

2022-09-19

易工具(yitool-cli) 易编程工作室出品 - 开发工具库 安装工具 安装 yitool npm install -g @yicode/yitool-cli 查看 git 统计 切换 npm 镜像地址 查看当前镜像地址 选择并切换镜像地址 压缩当前项目资源 配置文件 资源压缩中

2023-10-24

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

2023-12-13

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

2023-10-15

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

2023-09-23

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

2023-09-28

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

2024-09-22

免维护等优点。   go-fastdfs 分布式文件系统 v1.4.6 发布,修复删除空目录引起的bug 注意:使用前请认真阅读 使用文档 或 视频教程。 优点 支持 curl 命令上传 支持浏览器上传 支持 HTTP 下载 支持多机自

2024-09-28

无中心、免维护等优点。 go-fastdfs 分布式文件系统 v1.4.7 发布,增加(删除文件名特殊字符)enable_trim_file_name_special_char选项 注意:使用前请认真阅读 使用文档 或 视频教程。 优点 支持 curl 命令上传 支持浏览器上

2024-08-07

大家好!禅道20.4.stable发布啦!本次发布新增消息中心。现在您可以在一个集中的入口查看和处理各类重要信息。此外,我们还完善了发布功能,支持发布失败,让您更好地掌握发布动态,提高发布管理的透明度,GitLab类型代码库下

2023-02-25

开源 3D 建模软件 Blender 三年前开始执行每季度发布一次重要更新的策略,也就是每年发布 4 个重要版本。现在官方决定转变为每年只发布 3 个重要版本。 根据团队的介绍,未来 Blender 每年仅发布 3 个重要版本,其中一个将成为

2023-11-27

特别说明 平台公云版及企业私云版已经发布,增加多人团队协作支持,点击这里了解 [PDManer 元数建模 - v4],历时五年,持续升级,工匠精神,做一款简单好用的数据库建模平台。 元数建模平台,使用 React+Electron+Java 技

2023-03-27

特别说明 平台公云版及企业私云版已经发布,增加多人团队协作支持,点击这里了解 [PDManer 元数建模 - v4],历时五年,持续升级,工匠精神,做一款简单好用的数据库建模平台。 元数建模平台,使用 React+Electron+Ja

2025-03-21

本次发布中实际上包含了众多的版本,本文重点介绍一些主要更新优化,后面也包括距上次发布期间更新清单。 主要更新 新的权限配置模式 新版设计了新的权限数据来源,权限可直接读取控制器注解,去掉了对数据库的依赖