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