diff --git a/config/nav.yml b/config/nav.yml index 0bbc7cf5f..949cc4cf0 100644 --- a/config/nav.yml +++ b/config/nav.yml @@ -177,6 +177,7 @@ nav: ############################################################################### - Eventing: - Knative Eventing overview: eventing/README.md + - Event Mesh: eventing/event-mesh.md - Resources: - Brokers: - About Brokers: eventing/brokers/README.md diff --git a/docs/eventing/event-mesh.md b/docs/eventing/event-mesh.md new file mode 100644 index 000000000..40ea29a49 --- /dev/null +++ b/docs/eventing/event-mesh.md @@ -0,0 +1,17 @@ +# Event Mesh + +An Event Mesh is a dynamic infrastructure that is designed to smoothly transport events from producers to consumers via a network of interconnected _event brokers_ across any environment, and even between clouds in a seamless and loosely coupled way. In an Event Mesh both, producing and consuming application, can leverage their platform native event APIs. For instance a Phyton or Golang application can produce an event, using their native APIs, while a consuming application written in Java or Node.js can subscribe to it with their own native APIs as well. + +## Knative Event Mesh + +The above mentioned _event brokers_ are directly mapping to a key API in Knative Eventing: The `Broker` API offers a discoverable endpoint for event ingress and the `Trigger` API completes the offering with its event delivery capabilities. With these APIs Knative Eventing offers an Event Mesh as defined above: + +![Raw Trace](images/mesh.png) + +As visible in the above diagram, the Event Mesh is defined with the `Broker` and `Trigger` APIs for the ingress and the egress of events. Knative Eventing complements the Event Mesh with its Duck type APIs, offering a pool of connector for sending events to the `Broker` and routing events to subscribers using the `Trigger`: + +* **Events Ingress**: Support for a connectors API: Source duck type & Callable/Addressable Duck type. Even without any sources installed. +* **Event routing**: Broker + Triggers +* **Event egress** : Sinks API (i.e Callable) + +It is important to note that `Source` and `Sink` are not directly part of the Event Mesh. However they are complementary, and benefit from the good Ducktype APIs (`Callable`/`Addressable`) for a smooth integration or connection with the "Event Mesh". diff --git a/docs/eventing/images/mesh.png b/docs/eventing/images/mesh.png new file mode 100644 index 000000000..f1659a8dc Binary files /dev/null and b/docs/eventing/images/mesh.png differ