事件驱动与轮询/调度
Posted
技术标签:
【中文标题】事件驱动与轮询/调度【英文标题】:Event Driven versus Polling/Scheduling 【发布时间】:2010-01-22 04:51:15 【问题描述】:目前,我们的 IT 团队正在就处理我们所有流程中的大部分流程的最佳做法进行辩论。我们的 IT 主管正在推动一切由事件驱动。他的理由是这将节省资源,并且是发送船舶通知、订单验证、订单处理等的“最佳方法”。
我和另一位开发人员在节省资源方面没有分歧,但认为我们不再控制流程。如果出现问题,我们可以轻松地重新标记/排队或计划进程以获取错误事务或处理通信故障等问题。
在一个完美的环境中使用事件驱动的过程会很棒,因为你永远不必检查任何东西。但对我们来说,我们知道我们会遇到数据问题等,并且需要能够在修复问题时快速纠正问题或关闭进程。当一堆事件失败时,其他人如何处理?重新触发/触发事件并不容易......看起来如此,但我可能会完全忽略其他解决方案。
我不会更多地追求对/错,只是想看看其他人对不同流程的看法以及他们遇到的问题/问题。
始终感谢您的反馈。
【问题讨论】:
没有准确描述你的实际需求,很难说。 我们希望在我们的 ERP 系统中添加事件,每次更改商品数量(更新我们的网上商店)、订单发货(通知供应商)、验证信息(如果地址失败)时都会触发一个事件触发事件等)、缺货事件等。所以基本上使用这些事件来触发我们所有的订单处理需求。 【参考方案1】:事件驱动系统可以像您提到的那样非常灵活。我们有一个我工作的事件驱动框架,其中一个事件实际上是一个异常事件。我们的健康监视器是事件驱动的,如果出现问题、健康问题或数据问题,我们会通过电子邮件收到通知,并将所有内容记录到数据库、事件日志或文件中。事件允许进程在没有用户直接交互的情况下自行驱动。
与任何自动流程一样,都需要进行某种性质的审核和控制。应该有一些时间间隔来检查一组随机结果的有效性。我们每晚打印大约 80,000 份法律文件,这些文件根据另一台机器上的软件产生的事件自动分发/索引/验证。但是,我们有一个人类 QC 机构负责每天早上测试它们的样本,然后将它们释放到野外。
事件确实可以为您节省大量管理时间,并且非常容易实现。我强烈推荐它。
【讨论】:
谢谢乔尔。我真的很感激这些信息。以上是关于事件驱动与轮询/调度的主要内容,如果未能解决你的问题,请参考以下文章