diff options
Diffstat (limited to 'docs/content')
-rw-r--r-- | docs/content/architecture.rst | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/docs/content/architecture.rst b/docs/content/architecture.rst index 18f4cc3..69aafef 100644 --- a/docs/content/architecture.rst +++ b/docs/content/architecture.rst @@ -8,6 +8,31 @@ CPS Temporal Architecture ========================= -.. warning:: Draft +CPS Temporal is a dedicated service, **distinct** and **decoupled** from CPS +Core. CPS Temporal service is an **independently deployable** unit. -* Subsystem and components architecture +Integration between Core and Temporal is **event notification based, +asynchronous, send and forget**. By doing this, we are avoiding the dependency +from CPS Core on CPS Temporal and its API. It reverses the +dependency, which makes more sense from a conceptual point of view. + +For each data modification handled by CPS Core, + +* CPS Core is **publishing**, to a dedicated topic, an event representing the + data configuration or state. +* CPS Temporal is **listening** to the same topic for the event and is + responsible to keep track of all data over time. + +In the future, some other services can be created to listen to the same topic +to implement additional functionalities or storage forms. + +The event messaging system for this integration is **Kafka**, whose running +instance is deployed independently from CPS. It could be either: + +* the ONAP Kafka instance from ONAP DMaaP component, +* or any specific Kafka instance deployed independently from ONAP + +The following diagram is the C4 Model representing CPS System Containers: + +.. image:: /_static/images/cps-temporal-c4-container.png + :alt: C4 Model Diagram: Containers for CPS Software system |