服务架构:事件驱动架构

服务架构:事件驱动架构,事件驱动架构是由生产者和消费者组成,生产者负责生产事件,消费者监听并消费事件。,服务架构:事件驱动架构,事件驱动架构,事件分发以近实时的方式进行,所以当事件产生时,消费者可以立即做出应对。,还有一种模式,多个消费者是竞争的关系,它们从同一个队列消费,不出现错误的情况下每个事件都只被处理一次。,另外,在某些系统中,事件导入的吞吐量要求也很高,比如IoT系统。,事件驱动架构可以通过发布/订阅模型或事件流模型来实现:,在事件的消费上,也可以有一些略微不同的方式:,事件通常来源于外部系统,比如IoT中的物理设备、互联网用户的端上。我们在设计时,必须认真评估总体的数据量和吞吐量,以保证系统能支撑这个量级。,在上面的流程图中,右侧的三个格子表示三种类型的消费者,每种类型的消费者下面有多个实例。在实际场景中,出于容灾的目的,多个消费者实例的情况非常普遍。为了保证事件处理的吞吐量,多个实例也是有必要的。,在处理事件时,一个消费者实例可以创建多个线程。这也能提高处理的吞吐量,不过事件被处理的顺序就乱了,业务上可能无法接受;另外多线程处理也很难保证exactly-once语义。,在设计系统时,我们通常需要考虑单条消息的大小,它对系统的性能和金钱成本影响都非常大。如果走两个极端的话,可以是:,如果将所有需要的信息都放到单个事件里,处理起来会很方便,并且能够避免额外的信息查询。,如果将非常少的信息放到单个事件里,比如ID字段,那么会节省大量传输数据的时间和金钱成本,但其他信息需要访问其他服务才能获取到。,这其中的利益权衡,看自己的业务来定了。

文章版权声明

 1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/29434.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年6月23日
下一篇 2023年7月15日