Skip to content

Beangle Event ​

Beangle Event 是一个基于 Scala 的事件驱动框架,提供数据事件总线、消息队列和事件订阅功能,支持分布式事件处理。

核心能力 ​

Beangle Event 提供以下核心能力:

  • 数据事件总线:提供统一的事件发布和订阅机制
  • 消息队列:支持基于 Redis 和 PostgreSQL 的消息队列
  • 事件序列化:支持事件的序列化和反序列化
  • 分布式支持:支持跨进程的事件传播
  • 模块化订阅:支持按模块订阅事件
  • 灵活路由:支持事件的路由和过滤

文档组织 ​

  • API 调用说明 详细的 API 使用指南,包含所有模块的功能说明和使用示例

模块总览 ​

模块包名功能说明
Busorg.beangle.event.bus数据事件总线
MQorg.beangle.event.mq消息队列实现

快速开始 ​

发布事件 ​

scala
import org.beangle.event.bus.{DataEvent, DefaultDataEventBus}

val eventBus = new DefaultDataEventBus()

val event = DataEvent("user", "update", Map("id" -> 1, "name" -> "John"))
eventBus.publish(event)

订阅事件 ​

scala
import org.beangle.event.bus.DataEventSubscriber
import org.beangle.event.mq.EventSubscriber

class UserEventSubscriber extends EventSubscriber[DataEvent] {
  def onEvent(event: DataEvent): Unit = {
    println(s"收到事件: ${event.source} - ${event.operation}")
  }
}

eventBus.subscribe("user", new UserEventSubscriber())

最佳实践 ​

  • 使用事件总线解耦模块间的依赖
  • 合理设计事件粒度,避免事件过于频繁
  • 处理事件订阅异常,避免影响事件传播
  • 使用消息队列实现异步事件处理
  • 监控事件处理性能,优化事件处理逻辑