基于事件驱动的系统架构在日常的平台开发中早已司空见惯,通过消息队列进行事件的发送,然后分别构建对应的生产者和消费者。不过在传统的业务开发模式不同的事件会有不同的格式,不同的生产者生成出的事件格式也各不相同,消费者能消费的格式也是千差万别,本质上事件、生产者、消费者还是耦合的。那如何解决该问题呢?那就是我们今天要聊的CloudEvent。
CloudEvent简介
从官网的CloudEvents描述中我们可以看出,CloudEvent本质上就是一个描述事件数据的规范。所以对于CloudEvents的学习有的时候,我们更多的应该是取理解其设计规范,而不是其所呈现出的数据结构形态。就像大家去学tcp协议一样, 你不是去学的这个字段叫什么,而是要理解为什么会有这个字段,其解决的问题是什么。
如何解耦
对于CloudEvents的学习笔者采用自顶向下的方式来进行学习,即先去了解CloudEvents是如何在平台上进行事件、消费者、生产者的解耦,然后在去思考底层的相关字段的细节
一个事件的生命周期通常会包含生产、传输、消费三个环节,下面我们分别对这三个环节来进行介绍cloudevent与传统事件开发模式的区别。
事件生产
在传统的开发模式下不同的业务生产的的事件也各不相同,并且事件本身数据会相对较少,更多的是类似信号传递的角色,即通知后端服务某个类型事件发生了,然后由对应的系统构建事件的上下文数据,进行业务逻辑处理。而在Cloudevents中则更注重事件的一致性与完整性。

本文介绍了如何基于CloudEvent实现服务目录的解耦,详细阐述了CloudEvent在事件生产、传输和消费中的作用,以及如何在实际场景中设计消息处理流程和数据结构,展示了如何通过CloudEvent简化服务目录的系统架构并提高模块间通信的灵活性。
最低0.47元/天 解锁文章
33

被折叠的 条评论
为什么被折叠?



