Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

EDA – Event Driven Architecture

DZone's Guide to

EDA – Event Driven Architecture

· Java Zone
Free Resource

Learn how to troubleshoot and diagnose some of the most common performance issues in Java today. Brought to you in partnership with AppDynamics.

Event-driven architecture (EDA) is a push-based communication between publisher and consumer, which predominantly use for proactive notification in real time environment.
For e.g. Fraud notification from credit card Company, shipping, order fulfillment etc.
EDA use to communicate with consumer with minimum or no delay and avoid busy-wait thread stats.
EAD is a style of application architecture can be implemented in any language, which can improve responsiveness, throughput and flexibility.

An EDA is extremely loosely coupled than client/server paradigm because the publisher doesn’t know the identity of the consumers. This leads to an implementation which is easier to extend, evolve and maintain, giving you more flexibility and reducing maintenance cost.

EAD
Listener acts as asynchronous receiver, which automatically receives messages as they’re delivered on the channel.

Benefits:
1. EAD utilize existing resource efficiently.
2. This leads to an implementation which is easier to extend, evolve and maintain, giving you more flexibility and reducing maintenance cost.
3. This results in lower operational costs, increased utilization and happier end-users.
4. There is no direct coupling between the publisher and the consumer i.e. loosely coupled
5. Prevent block or wait in queue

Conclusion:
Business needs to make more responsiveness and react to certain situation as they occur. An Event Driven Architecture (EAD) monitor changes in state and respond it in real time. Some scenario where need quick reaction we could use EDA, while other areas still pull and scheduled pattern could be used. The main point is to understand the use case scenario and advantage on it before using EDA.

References:

http://en.wikipedia.org/wiki/Event-driven_architecture

http://www.eaipatterns.com

http://www.reactivemanifesto.org/

http://en.wikipedia.org/wiki/Observer_pattern

Understand the needs and benefits around implementing the right monitoring solution for a growing containerized market. Brought to you in partnership with AppDynamics.

Topics:

Published at DZone with permission of Nitin Kumar, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}