探索 Kyma Eventing

学习目标

  • 解释什么是 Kyma Eventing

  • 列出 Eventing 模块使用的技术

Kyma Eventing 简介

在 Kyma 中,你可以借助 Eventing 模块的处理后端发送和接收事件。该模块旨在让订阅和发布事件的过程更加简单。它免除了用户自行执行协议或后端操作的需要。

理解 Kyma 中的 Eventing 流程

Eventing 模块的流程涉及以下技术:

  • NATS (一种开源消息收发系统)

  • NATS JetStream (提供后端)

  • HTTP post 请求(在发送和接收事件方面通过 POST 请求传递)

  • 订阅自定义资源(CR)(抽象了对不同 Kubernetes 原语的创建)

那么,Kyma Eventing 的实际流程是怎样的?首先需要说明的是,Eventing 模块基于发布/订阅(Pub/Sub)消息传递模式。这意味着在 Eventing 模块中触发的消息不会沿直接路径发送给订阅者,而是发布到消息后端,在那里进行处理、过滤,然后发送给订阅者。

视频:本节含 SAP 官方视频(视频 ID 1_m3lh23qq),需在 learning.sap.com 在线观看。

在 SAP BTP, Kyma Runtime 中使用 Eventing

当使用 SAP BTP, Kyma runtime 运行扩展时,理解此流程非常重要,这些扩展应在某个事件发出时执行。例如,SAP SuccessFactors 系统可能会发布一条新员工加入公司的事件。你可以配置扩展来订阅该事件,并利用这些数据执行进一步的操作。例如,将新员工加入入职培训课程。

在了解 Kyma 的传递和处理流程的同时,你可以在 SAP BTP 中将 Eventing 模块用于两种场景:

  1. 当已连接的 SAP 和非 SAP 解决方案使用业务事件时:

注意

只有 CX 解决方案支持 Eventing 模块,例如:SAP Commerce Cloud、SAP Sales Cloud、FSM。SAP S/4HANA 等其他解决方案目前不使用 Eventing 模块发送事件,因为它们将事件直接发送到 event mesh,你需要在那里设置 webhook。有关详细信息,请参阅使用 SAP BTP, Kyma runtime 扩展 SAP Marketing Cloud。

  1. 当事件驱动的微服务使用集群内事件时:

在 Kyma dashboard 中,你可以查看和更新特定工作负载的订阅,也可以在命名空间级别通过 ConfigurationSubscriptions 执行此操作。

Kyma dashboard 中的订阅

小结

在 Kyma 中,你可以借助 Eventing 模块的处理后端发送和接收事件。在此过程中,会使用 NATS(在 SAP BTP 中,你可以将此后端切换为 SAP Event Mesh)、JetStream、HTTP-post 请求以及订阅 CR 等技术。你可以在 SAP BTP, Kyma runtime 中将 Eventing 模块用于两种基本场景:

  • 从已连接的 SAP 和非 SAP 解决方案使用的业务事件

  • 用于事件驱动微服务的集群内事件

此外,在 SAP BTP, Kyma runtime 中,你可以使用 Kyma dashboard 访问实用功能并查看事件。

进一步阅读

  • Kyma Eventing