efiacor | 0fa0198 | 2019-04-08 14:52:08 +0000 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| 2 | .. http://creativecommons.org/licenses/by/4.0 |
LF Jenkins CI | 3d3b9de | 2020-04-08 20:23:00 +0000 | [diff] [blame] | 3 | .. _architecture: |
efiacor | 0fa0198 | 2019-04-08 14:52:08 +0000 | [diff] [blame] | 4 | |
| 5 | Architecture |
| 6 | ============ |
| 7 | |
| 8 | Capabilities |
| 9 | ------------ |
| 10 | The DMaaP Data Router (DR) provisioning API is an HTTPS-based, REST-like API for creating and managing |
| 11 | DR feeds and subscriptions, which provides a pub/sub architectural model for the transfer of data. |
| 12 | |
efiacor | 0fa0198 | 2019-04-08 14:52:08 +0000 | [diff] [blame] | 13 | Usage Scenarios |
| 14 | --------------- |
| 15 | Typically, DR pub clients request the provisioning of a new DR feed. |
| 16 | Once created, DR sub clients can then subscribe to the feed to receive all data published to that feed. |
| 17 | |
| 18 | .. image:: images/dr_pub_flow.png |
| 19 | |
| 20 | |
| 21 | The DR provisioning API is not meant to be used directly by DR end users (publishers and subscribers) |
| 22 | for feed / subscription CRUD (create, read, update, delete) operations. |
| 23 | |
| 24 | Instead, prospective publishers and subscribers should use the DMaaP Bus Controller API, which will call |
| 25 | the DR provisioning API to manage feeds and subscriptions. |
| 26 | |
| 27 | .. image:: images/dr_bc_prov.png |
| 28 | |
| 29 | |
| 30 | See DMaaP Bus Controller API docs for more information: |
| 31 | |
| 32 | `Bus Controller Feeds API <https://onap.readthedocs.io/en/latest/submodules/dmaap/dbcapi.git/docs/api.html#feeds>`_ |
| 33 | |
| 34 | `Bus Controller Subs API <https://onap.readthedocs.io/en/latest/submodules/dmaap/dbcapi.git/docs/api.html#dr-subs>`_ |
| 35 | |
| 36 | |
| 37 | High level Architecture |
| 38 | ----------------------- |
| 39 | The following diagram shows the high-level relationship between the system components: |
| 40 | |
| 41 | .. image:: images/dr_arch_only.png |
| 42 | |
| 43 | |
| 44 | DMaaP DR architecture uses the Eclipse Jetty server as an application server to service it's front-end. |
| 45 | * dmaap-dr-prov services all provisioning requests. |
| 46 | * dmaap-dr-node services the publishing of data to feed subscribers. |
| 47 | |
| 48 | DMaaP DR uses MariaDB as it's storage component for the following: |
| 49 | * DR Provisioning data. (feeds, subscribers, etc.) |
LF Jenkins CI | 3d3b9de | 2020-04-08 20:23:00 +0000 | [diff] [blame] | 50 | * Historical logging data related to feed activity. (Publish, Delivery, etc.) |