记录事件驱动架构

Documenting an Event-Driven Architecture

我正在设计一个事件驱动系统,至少由两个团队和两个不同的外包公司来构建。

我们已经在内部设计了所有内容,但现在我正在为开发团队创建文档。

对于我使用的 HTTP OpenAPI

是否有任何工具或语言来描述事件和处理流?

创建此类文档的最佳做法是什么?

这是一种方法:

  1. 定义系统接受的最终事件列表。事件可以基于 CloudEvents spec, for example, and documented in JSONSchema (as per ).
  2. 对于每个系统组件,定义组件生成和使用哪些事件(在上述列表之外)。
  3. 对于特别多毛的单个事件流,将它们写在序列图中。

AsyncAPI spec 是另一种有趣的(更包罗万象的)方法。它有点像 Swagger/OpenAPI 但对于事件驱动的系统:您定义消息传递通道和 subscribe/publish 操作而不是路径和 HTTP 操作。

有点晚了,我很想知道你是如何解决这个问题的!