-
Notifications
You must be signed in to change notification settings - Fork 584
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
starter doc explaining key concepts from the spec
- Loading branch information
1 parent
14b4e71
commit 3c71045
Showing
2 changed files
with
28 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
|
||
# CloudEvents Concepts | ||
|
||
**Event**: data representing an occurrence, a change in state, that something happened (or did not happen). | ||
|
||
**Occurrence**: something that happens (or doesn’t happen) and is detected by a software system (“source”). | ||
|
||
Events include context and data. Each occurrence is uniquely identified by the data of the event. Events represent facts and therefore do not include a destination, whereas messages convey intent, transporting data from a source to a given destination. | ||
|
||
## Eventing | ||
|
||
Events are commonly used in server-side code to connect disparate systems where the change of state in one system causes code to execute in another. For example, a source may generate an event when it receives an external signal (e.g. HTTP or RPC) or observes a changing value (e.g. an IoT sensor or period of inactivity). | ||
|
||
To illustrate how a system uses CloudEvents, the simplified diagram below shows how an **event** from a **source** triggers an **action**. | ||
|
||
![alt text](img/source-event-action.png "A box representing the source with arrow pointing to a box representing the action. The arrow is annotated with 'e' for event and 'protocol'.") | ||
|
||
The source generates a message where the event is encapsulated in a protocol. The event arrives to a destination, triggering an action which is provided with the event data. | ||
|
||
**Source**: the software instance that generates the event at runtime. | ||
|
||
A **source** is a specific instance of a **source-type** which allows for staging and test instances. Open source software of a specific **source-type** may be deployed by multiple companies or providers. | ||
|
||
Events can be delivered through various industry standard protocols (e.g. HTTP, AMQP, MQTT, SMTP), open-source protocols (e.g. Kafka, NATS), or platform/vendor specific protocols (AWS Kinesis, Azure Event Grid). | ||
|
||
An **action** processes an **event** defining a behavior or effect which was triggered by a specific **occurrence** from a specific **source**. | ||
|
||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.