DamiBus v0.27 发布,主打多模块解耦


数据技术都能四世同堂,凭什么开发 30 岁就要被干掉?

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

特点

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

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

与常见的 EventBus、ApiBean 的区别

  Dami EventBus Api Dami 的情况说明
广播 发送(send) + 监听(listen) 以及 Api 模式
应答 发送并等响应(sendAndResponse) + 监听(listen) + 答复(reply) 以及 Api 模式
回调 有+ 有- 发送并等回调(sendAndCallback) + 监听(listen) + 答复(reply)
耦合 弱- 弱+ 强++  

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

本次更新了什么?

  • 增加模式匹配路由器
  • 提供可切换实现的机制(方便用户定制)
public class Demo15_custom {
public void main(){
//切换为模式匹配路由器(支持 * 和 ** 占位符;支持 / 或 . 做为间隔)
DamiConfig.configure(new DamiBusImpl(new TopicRouterPatterned()));

//拦截
Dami.bus().listen("demo/*/**", (payload) -> {
System.err.println(payload);
});

//发送事件
Dami.bus().send("demo/a/1", "world1");
Dami.bus().send("demo/a/2", "world2");
Dami.bus().send("Demo/b/1/2", "world3"); //大小写敏感
}
}

项目地址

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

相關推薦

2023-09-28

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

2023-12-13

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

2023-10-24

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

2023-10-15

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

2023-01-11

Vitest v0.27.0现已发布,它是一个基于 Vite 的原生快速单元测试框架。具体更新内容如下 突破性变化 弃用结果上的“error”,将错误存储在“errors”中 #2586 (e641a) 将 vitest 拆分为单独的包,但暂时将它们捆绑在一起 #2575 (c8e6f)

2023-03-12

字节跳动开源了一款采用 Rust 开发的前端模块打包工具:Rspack(读音为/'ɑrspæk/)。 据介绍,Rspack 是一个基于 Rust 的高性能构建引擎,具备与 Webpack 生态系统的互操作性,可以被 Webpack 项目低成本集成,并提供更好的构建性

2022-07-07

历史度量数据,同时保留快速查询延迟。 Thanos 0.27 正式发布,更新内容如下: 修复 #5339 接收:在 routerOnly 模式下运行时,中断 (SIGINT) 现在将退出进程。 #5357 存储:确保缓存键中的斜杠不再被路由器解释,来修复

2023-02-27

x-easypdf v2.11.3 版本发布,【fop模块】新增xsd约束 ​ ​ x-easypdf是一个基于pdfbox/fop二次封装的框架,目前拥有两大模块:【pdfbox模块】与【fop模块】。【pdfbox模块】主打pdf编辑功能,以组件化的形式进行pdf的构建;【fop模

2023-03-13

​ ​ x-easypdf是一个基于pdfbox/fop二次封装的框架,目前拥有两大模块:【pdfbox模块】与【fop模块】。【pdfbox模块】主打pdf编辑功能,以组件化的形式进行pdf的构建;【fop模块】主打pdf导出功能,采用数据源的方式对xsl-fo模板

2023-03-07

程语言,可用于 Erlang 虚拟机和 JavaScript 运行时。 最新发布的 0.27 包含以下变化: 支持在use 表达式 (useexpressions)中使用模式 Gleam v0.25 引入了use表达式,该功能有助于避免 Gleam 程序中的“回调地狱 (callback hel

2024-10-31

在提供快速、轻量级的日志记录功能 Github 使用文档 v0.27.0 更新内容 优化内存分配 优化写数据性能 增加日志属性自定义函数 增加各个日志级别格式化打印函数 说明 性能优化是该版本最重要的更新内容。性能优

2022-09-23

,还可以进一步延长设备的使用寿命。Chromebook 原本就是主打教育市场,当融入模块化和可维修性后,学校也能更轻松地升级老化的硬件。 目前这款 Chromebook 笔记本电脑仅在美国和加拿大开启了预购,它的起售价为 999 美元,感

2022-06-07

3.7.0 版本更新详情: build 依赖升级    spring-boot 2.6.8    spring-cloud-dependencies.version>2021.0.2    spring-boot-admin.version>2.6.7    hutool.version>5.8.1    fastjson.version>1.2.83 拆分boot模块为 boot和m

2023-09-07

是对BifroMQ技术架构的整体介绍。请期待我们将在接下来发布的一系列专题文章中,深入探讨BifroMQ的各个组件和设计原则。 最后,为了帮助大家更好地了解BifroMQ的技术架构,我们将于9月21日(周四)举办一场BifroMQ线上直播公开