开发者

Event Driven versus Polling/Scheduling

We currently are in a debate within our IT group over what the best practice is for handling the majority of all of our processes. Our IT director is pushing for everything to be event driven. His reasoning is that is will save on resources and it is the "best method" for sending ship notifications, order validations, order processing, etc.

Another developer and I don't disagree on saving resources but argue that we are no longer in control of the process. If something breaks we can easily re-flag/queue or scheduled processes to pick up the errored transactions or handle things like communication failures.

In a perfect enivr开发者_JAVA百科onment uses event driven processes all over would be great because you wouldn't ever have to check for anything. But for us we know we will encounter data issues, etc and need to be able to quickly correct the problem or shut off the process while we fix it. How do others handle when a bunch of events fail? It is not that easy to re-trigger/fire the events....so it appears, but I could be completely overlooking other solutions.

I am not going for a right/wrong more just trying to see what others think about the different processes and what issues/problems they have encountered.

Always appreciate the feedback.


An event driven system can be very flexible like you mention. We have an event driven framework where I work, and one of the events is actually an exception event. Our health monitor is event driven, and if there is a problem, health problem, or data issue, we're notified by email and everything is logged to a database, event log, or file. Events allow the processes to drive themselves without direct interaction from a user.

As with any automatic process there needs to be auditing and control of some nature. There should be some interval by which a random set of results is checked for validity. We print approximately 80,000 legal documents nightly that are distributed/indexed/verified automatically based on an event produced by a software on another machine. However, we have a human QC authority responsible each morning for testing a sampling of them and then releasing them into the wild.

Events really can save you a lot of administrative time and can be very easy to implement. I would highly recommend it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜