All Projects → edagarli → azeroth-event

edagarli / azeroth-event

Licence: Apache-2.0 license
Lightweight event-driven framework

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to azeroth-event

evon
Fast and versatile event dispatcher code generator for Golang
Stars: ✭ 15 (-16.67%)
Mutual labels:  event, eventbus, event-driven
event-driven-web-components-realworld-example-app
Exemplary real world application built with Vanilla JS Web Components in an Event Driven Architecture
Stars: ✭ 55 (+205.56%)
Mutual labels:  event, event-driven
Qmq
QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。
Stars: ✭ 2,420 (+13344.44%)
Mutual labels:  event, event-driven
UT GameEventSystem
A flexible event system in Unreal Engine 4
Stars: ✭ 33 (+83.33%)
Mutual labels:  event, event-driven
Elegantbus
🔥🔥Android 平台,基于LivaData的EventBus,无侵入,更优雅,支持跨进程,跨应用粘性事件,自定义事件等功能。
Stars: ✭ 156 (+766.67%)
Mutual labels:  event, eventbus
Resugan
simple, powerful and unobstrusive event driven architecture framework for ruby
Stars: ✭ 82 (+355.56%)
Mutual labels:  eventbus, event-driven
EventEmitter
Simple EventEmitter with multiple listeners
Stars: ✭ 19 (+5.56%)
Mutual labels:  event, event-driven
Unpeek Livedata
LiveData 数据倒灌:别问,问就是不可预期 - Perfect alternative to SingleLiveEvent, supporting multiple observers.
Stars: ✭ 208 (+1055.56%)
Mutual labels:  event, eventbus
Multiplatform-Bus
Kotlin event-bus compatible with Android & native iOS
Stars: ✭ 43 (+138.89%)
Mutual labels:  event, eventbus
ReactiveBus
🚍 Reactive Event Bus for JVM (1.7+) and Android apps built with RxJava 2
Stars: ✭ 17 (-5.56%)
Mutual labels:  event, eventbus
Noel
A universal, human-centric, replayable javascript event emitter.
Stars: ✭ 158 (+777.78%)
Mutual labels:  event, event-driven
Neventlite
NEventLite - An extensible lightweight library for .NET that manages the Aggregate lifecycle in an Event Sourced system. Supports Event and Snapshot storage providers like EventStore/Redis or SQL Server. Built with dependency injection in mind and seamlessly integrates with AspNetCore.
Stars: ✭ 117 (+550%)
Mutual labels:  event, event-driven
Asombroso Ddd
Una lista cuidadosamente curada de recursos sobre Domain Driven Design, Eventos, Event Sourcing, Command Query Responsibility Segregation (CQRS).
Stars: ✭ 41 (+127.78%)
Mutual labels:  eventbus, event-driven
Rabbus
A tiny wrapper over amqp exchanges and queues 🚌 ✨
Stars: ✭ 86 (+377.78%)
Mutual labels:  eventbus, event-driven
Mbassador
Powerful event-bus optimized for high throughput in multi-threaded applications. Features: Sync and Async event publication, weak/strong references, event filtering, annotation driven
Stars: ✭ 877 (+4772.22%)
Mutual labels:  eventbus, event-driven
Run Aspnetcore Microservices
Microservices on .Net platforms which used Asp.Net Web API, Docker, RabbitMQ, MassTransit, Grpc, Ocelot API Gateway, MongoDB, Redis, PostgreSQL, SqlServer, Dapper, Entity Framework Core, CQRS and Clean Architecture implementation. Also includes Cross-Cutting concerns like Implementing Centralized Distributed Logging with Elasticsearch, Kibana and SeriLog, use the HealthChecks with Watchdog, Implement Retry and Circuit Breaker patterns with Polly and so on.. See Microservices Architecture and Step by Step Implementation on .NET Course w/ discount->
Stars: ✭ 406 (+2155.56%)
Mutual labels:  eventbus, event-driven
reacted
Actor based reactive java framework for microservices in local and distributed environment
Stars: ✭ 17 (-5.56%)
Mutual labels:  eventbus, event-driven
Eventline
Micro-framework for routing and handling events for bots and applications 🤖. IFTTT for developers 👩‍💻👨‍💻
Stars: ✭ 305 (+1594.44%)
Mutual labels:  eventbus, event-driven
CEventCenter
一个Android事件分发中心库,基于对象池及接口回调实现。实现类似BroadcastReceiver/RxBus/EventBus等的消息事件传递功能,用于在Activity/Fragment/Service之间的消息传递通讯。
Stars: ✭ 116 (+544.44%)
Mutual labels:  event, eventbus
Bekit
bekit框架致力于解决在应用开发中的公共性痛点,已有“事件总线”、“流程引擎”、“服务引擎”。其中“流程引擎”可作为分布式事务解决方案saga模式的一种实现,并且它很轻量不需要服务端、不需要配置,就可直接使用。
Stars: ✭ 71 (+294.44%)
Mutual labels:  event, eventbus

azeroth-event

Lightweight event-driven framework

中文说明/Chinese Documentation

Better decoupling between components allows us to decouple our modules and domain boundaries in a domain-driven design (DDD) with a weak reference nature of events.

Originally used as an internal plugin for business decoupling and event distribution. In the ongoing optimization, interested can pay attention to it.

Structure diagram

event

Quick start

// init eventbus plugin
EventBus plugin = new EventBus();
//Asynchronous globally enabled, if not enabled by default, synchronous blocking processing
plugin.async(1024, 8);
// Scan the class that contains the @Listener annotation method AND Implement the ApplicationEventListener interface
//Set the scan jar package to include the imported third-party jar package, which is not scanned by default.
plugin.scanJar();
// Set the default scan packet life, the default full scan
plugin.scanPackage("com.github.edagarli.eventbus.listener");
// plugin start
plugin.start();

// send the first message
plugin.publish("123", new EventSource("test"));
// send the second message
plugin.publish("123", new EventSource("test111111"));
// One-to-many, one event, triggering multiple event processing
// Coexisting multiple events with the same tag. Providing priority processing. The smaller the value of priority, the greater the priority.
plugin.publish("test", new EventSource("123123"));

Awaitility.await().atMost(2, TimeUnit.MINUTES).until(new Callable<Boolean>() {
@Override
   public Boolean call() throws Exception {
	  return eventBus.stop();
   }
});

maven jar~

<dependency>
  <groupId>com.github.edagarli</groupId>
  <artifactId>azeroth-event</artifactId>
  <version>1.0.0</version>
</dependency>

Release Notes

DOING

  1. Code refactoring, internal responsibilities are more subdivided, and convenient for extended point expansion
  2. Improvement of execution strategy
  3. Support rule triggering, support time rule triggering
  4. Support el dynamic expressions
  5. Final consistency (persistent processing such as placement, increase retry mechanism)

2019-01-12 v1.0.0

  1. Support concurrency, accelerate service processing efficiency, event publishing and asynchronous processing capability (disruptor)
  2. In-project service decoupling Observers and publishers do not interfere with each other
  3. Imitate the spring event-driven model. One-to-many release one event to trigger multiple event processing.
  4. Add multiple listener priority processing rights. In the case of asynchronous processing, the order of submission is guaranteed, and the order of execution is not guaranteed.
  5. Asynchronous queues support graceful downtime to ensure the reliability of memory channels
  6. Increase the threshold. In asynchronous mode, the ringbuffer exceeds the threshold. Automatically switch back to synchronous. Return to normal and switch to asynchronous mode again.

Projects

Disruptor

spring event-driven model

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].