From 75031039b62ae77d429bb0f2cd3f644820055d54 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Sat, 1 Feb 2020 11:21:20 +0200 Subject: [PATCH] Release/pi8 (#161) * added diagram of sending of trace to APM * added documentation for event stream processor and updated the Event Framework tags information * added section for custom mojaloop schema, updated diagrams * edit the custom template section * Updated component arch diagram for PI8, and also added legacy links * Updated overview to point to latest component arch overview diagram Co-authored-by: Valentin Genev Co-authored-by: Sam --- SUMMARY.md | 3 +++ .../diagrams/architecture/architecture-event-trace.svg | 2 +- mojaloop-technical-overview/overview/README.md | 2 +- .../diagrams/architecture/Arch-Mojaloop-overview-PI8.svg | 3 +++ mojaloop-technical-overview/overview/components-PI6.md | 7 +++++++ mojaloop-technical-overview/overview/components-PI7.md | 7 +++++++ mojaloop-technical-overview/overview/components-PI8.md | 7 +++++++ 7 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 mojaloop-technical-overview/overview/assets/diagrams/architecture/Arch-Mojaloop-overview-PI8.svg create mode 100644 mojaloop-technical-overview/overview/components-PI6.md create mode 100644 mojaloop-technical-overview/overview/components-PI7.md create mode 100644 mojaloop-technical-overview/overview/components-PI8.md diff --git a/SUMMARY.md b/SUMMARY.md index 5604a65be..70f4ecb62 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -25,6 +25,9 @@ * [Documentation Style Guide](contributors-guide/documentation/documentation-style-guide.md) * [Mojaloop Technical Overview](mojaloop-technical-overview/README.md) * [Mojaloop Hub](mojaloop-technical-overview/overview/README.md) + * [Current Architecture - PI8](mojaloop-technical-overview/overview/components-PI8.md) + * [Legacy Architecture - PI7](mojaloop-technical-overview/overview/components-PI7.md) + * [Legacy Architecture - PI6](mojaloop-technical-overview/overview/components-PI6.md) * [Legacy Architecture - PI5](mojaloop-technical-overview/overview/components-PI5.md) * [Legacy Architecture - PI3](mojaloop-technical-overview/overview/components-PI3.md) * [Account-Lookup Service](mojaloop-technical-overview/account-lookup-service/README.md) diff --git a/mojaloop-technical-overview/event-framework/assets/diagrams/architecture/architecture-event-trace.svg b/mojaloop-technical-overview/event-framework/assets/diagrams/architecture/architecture-event-trace.svg index 1a6436629..5fd81ccfb 100644 --- a/mojaloop-technical-overview/event-framework/assets/diagrams/architecture/architecture-event-trace.svg +++ b/mojaloop-technical-overview/event-framework/assets/diagrams/architecture/architecture-event-trace.svg @@ -1,3 +1,3 @@ -
Sidecar
Sidecar
Sidecar
Sidecar
Service
Consumer 
[Not supported by viewer]
Parent Span
Parent Span
Trace
Trace
Start
Start<br>
End
End<br>
Child Span
Child Span
Start
Start<br>
End
End<br>
Child Span
Child Span
Start
Start<br>
End
End<br>
Trace Context
- traceId
- spanId
- parentId
- sampled
- flags
[Not supported by viewer]
Service
Producer 
[Not supported by viewer]
Tags: [ transactionId=transferId, source=payerFsp, 
destination=payeeFsp ]
[Not supported by viewer]
Child Span
Child Span
Start
Start<br>
End
End<br>
Message Transport
- HTTP
- Kafka

[Not supported by viewer]
Error
Error<br>
<div style="text-align: center"></div>
Kafka
(Event Topic)
[Not supported by viewer]
Event Sidecar
Event Sidecar
Event Sidecar
Event Sidecar
Record Trace
Record Trace<br>
Service A
Service A
Service B
Service B
Trace Message
- traceId
- spanId
- parentId
- sampled
- flags
- tags
- content / error
[Not supported by viewer]
Record Trace
Record Trace<br>
Record Trace
Record Trace<br>
Record Trace
Record Trace<br>
Record Error
Record Error<br>
Audit
Audit<br>
Record
Audit
[Not supported by viewer]
Log
Log<br>
Record Log
Record Log<br>
\ No newline at end of file +
Sidecar
Sidecar
Sidecar
Sidecar
Service
Consumer 
Service...
Parent Span
Parent Span
Trace
Trace
Start
Start
End
End
Child Span
Child Span
Start
Start
End
End
Child Span
Child Span
Start
Start
End
End
Trace Context
- traceId
- spanId
- parentId
- sampled
- flags
- tracestate
Trace Context...
Service
Producer 
Service...
Tags: [ transactionId: transferId, transactionType: transfer, source: payerFsp, destination: payeeFsp, tracestate: mojaloop=f32c19568004ce8b ]
Tags: [ transactionId: transferId, transactionType: transfer, source: payerFsp, destination: payeeFsp, tracestate: mojaloop=f32c19568004ce...
Child Span
Child Span
Start
Start
End
End
Message Transport
- HTTP
- Kafka

Message Transport...
Error
Error
Kafka
(Event Topic)
Kafka...
Event Sidecar
Event Sidecar
Event Sidecar
Event Sidecar
Record Trace
Record...
Service A
Service A
Service B
Service B
Trace Message
- traceId
- spanId
- parentId
- sampled
- flags
- tags
- tracestate
- content / error
Trace Message...
Record Trace
Record...
Record Trace
Record...
Record Trace
Record...
Record Error
Record...
Audit
Audit
Record
Audit
Record...
Log
Log
Record Log
Record...
Record
Audit
Record...
Record
Audit
Record...
Record
Audit
Record...
Record
Audit
Record...
\ No newline at end of file diff --git a/mojaloop-technical-overview/overview/README.md b/mojaloop-technical-overview/overview/README.md index 9d0cb803c..78e405de9 100644 --- a/mojaloop-technical-overview/overview/README.md +++ b/mojaloop-technical-overview/overview/README.md @@ -4,7 +4,7 @@ There are several components that make up the Mojaloop ecosystem. The Mojaloop H The following component diagram shows the break-down of the Mojaloop services and its micro-service architecture: -![Current Mojaloop Architecture Overview](./assets/diagrams/architecture/Arch-Mojaloop-overview-PI6.svg) +![Current Mojaloop Architecture Overview](./assets/diagrams/architecture/Arch-Mojaloop-overview-PI8.svg) _Note: Colour-grading indicates the relationship between data-store, and message-streaming / adapter-interconnects. E.g. `Central-Services` utilise `MySQL` as a Data-store, and leverage on `Kafka` for Messaging_ diff --git a/mojaloop-technical-overview/overview/assets/diagrams/architecture/Arch-Mojaloop-overview-PI8.svg b/mojaloop-technical-overview/overview/assets/diagrams/architecture/Arch-Mojaloop-overview-PI8.svg new file mode 100644 index 000000000..3e5b75f13 --- /dev/null +++ b/mojaloop-technical-overview/overview/assets/diagrams/architecture/Arch-Mojaloop-overview-PI8.svg @@ -0,0 +1,3 @@ + + +
Operational Monitoring
Operational Monitoring
Quality Assurance
Quality Assurance
Core Components
Core Components
API - Security / Policy / Ingress / Egress
API - Security / Policy / Ingress / Egress
Continuous Integration & Delivery
Continuous Integration & Delivery
Container Management & Orchestration
Container Management & Orchestration
Supporting Components
Supporting Components
Helm
(Package Manager for K8s, Templatized Deployments and Configuration)
Helm...
Kubernetes
(Abstraction layer for Infrastructure, Infrastructure as a Policy, Container Orchestration)
Kubernetes...
Docker
(Container Engine)
Docker...
Infrastructure
(AWS, Azure, On-Prem)
Infrastructure...
EFK - ElasticSearch / Fluentd / Kibana
(Log Search / Collection / Monitoring / Tracing)
EFK - ElasticSearch / Fluentd / Kibana...
Promfana - Prometheus / Grafana
(Log Search / Collection / Monitoring)
Promfana - Prometheus / Grafana...
Open Tracing
(Distributed Tracing)
Open Tracing...
Rancher
(Infrastructure Management)
Rancher...
Mojaloop API Adapter
(API - Transfers)
Mojaloop API Adapter...
Central-Services
(API - Operational Admin)
Central-Services...
Central-Services
(Handler - Prepare)
Central-Services...
Central-Services
(Handler - Position)
Central-Services...
Central-Services
(Handler - Fulfil)
Central-Services...
Central-Services
(Handler - Get Transfers)
Central-Services...
Central-Services
(Handler - Timeout)
Central-Services...
Central-KMS
(Future - Key Management Store)
Central-KMS...
ALS - Account-Lookup-Service
(API - Parties, Participant)
ALS - Account-Lookup-Service...
ALS-Oracle-Pathfinder
(MSISDN Lookup)
ALS-Oracle-Pathfinder...
Central-Event-Processor
(CEP)
Central-Event-Processor...
Email-Notifier
(Handler - Email)
Email-Notifier...
Central-Services
(Handler - Admin)
Central-Services...
Circle-CI
(Test, Build, Deploy)
Circle-CI...
Docker Hub
(Container Repository)
Docker Hub...
NPM Org
(NPM Repository)
NPM Org...
GitBooks
(Documetation)
GitBooks...
API Gateway
(Future - API - Parties, Participants, Quotes, Transfers, Bulk Transfers)
API Gateway...
Central-Services
(Handler - Bulk Prepare)
Central-Services...
Central-Services
(Handler - Bulk Fulfil)
Central-Services...
Central-Services
(Handler - Bulk Process)
Central-Services...
Mojaloop API Adapter
(API - Bulk Transfers)
Mojaloop API Adapter...
Forensic-Logging
(Future - Auditing)
Forensic-Logging...
Central-Settlements
(API - Settlement)
Central-Settlements...
Event-Stream-Processor
Logs, Error, Audits, Tracing)
Event-Stream-Processor...
Simulators
(API, SDK, FSP & Oracle)
Simulators...
On-boarding
(Postman - Scripts)
On-boarding...
Functional Tests
(Postman - Scripts)
Functional Tests...
Self Testing Toolkit
(
POC UI)
Self Testing Toolkit...
License, Security & Audit
(Dependencies)
License, Security & Audit...
Persistence
Persistence
Redis
(SDK - Cache)
Redis...
MongoDB
(CEP - Data)
MongoDB...
MySQL
(Percona - Data)
MySQL...
Kafka
(Message - Streaming)
Kafka...
Transaction Request Service
(API - Transaction)
Transaction Request Service...
Software Dev Kits
Software Dev Kits
Oracle SDK
(Participant Store)
Oracle SDK...
Mojaloop SDK 
(FSP Payer/Payee)
Mojaloop SDK...
Event SDK
(Audit, Log, Trace - Client/Server)
Event SDK...
Event-Sidecar
(Logs, Error, Audits, Tracing)
Event-Sidecar...
Mojaloop API Adapter
(Handler - Notifications)
Mojaloop API Adapter...
Quoting-Service
(API - Quotes)
Quoting-Service...
Finance-Portal-UI
(API - Bulk Transfers)
Finance-Portal-UI...
Settlement-Management
(Closing, Recon report, Cronjob)
Settlement-Management...
Schema-Adapter
(SDK - Parties, Participants, Quotes, Transfers)
Schema-Adapter...
IaC (Infra as Code) Tools
(Future - Automated
Prov / Depl / Upgrades)
IaC (Infra as Code) Tools...
\ No newline at end of file diff --git a/mojaloop-technical-overview/overview/components-PI6.md b/mojaloop-technical-overview/overview/components-PI6.md new file mode 100644 index 000000000..a935f7cc5 --- /dev/null +++ b/mojaloop-technical-overview/overview/components-PI6.md @@ -0,0 +1,7 @@ +# Mojaloop Hub Legacy Components - PI6 + +The following component diagram shows the break-down of the Mojaloop services and its micro-service architecture for pre PI6: + +![Mojaloop Architecture Overview PI6](./assets/diagrams/architecture/Arch-Mojaloop-overview-PI6.svg) + +_Note: Colour-grading indicates the relationship between data-store, and message-streaming / adapter-interconnects. E.g. `Central-Services` utilise `MySQL` as a Data-store, and leverage on `Kafka` for Messaging_ diff --git a/mojaloop-technical-overview/overview/components-PI7.md b/mojaloop-technical-overview/overview/components-PI7.md new file mode 100644 index 000000000..f2f59dd8a --- /dev/null +++ b/mojaloop-technical-overview/overview/components-PI7.md @@ -0,0 +1,7 @@ +# Mojaloop Hub Legacy Components - PI7 + +The following component diagram shows the break-down of the Mojaloop services and its micro-service architecture for pre PI7: + +![Mojaloop Architecture Overview PI7](./assets/diagrams/architecture/Arch-Mojaloop-overview-PI7.svg) + +_Note: Colour-grading indicates the relationship between data-store, and message-streaming / adapter-interconnects. E.g. `Central-Services` utilise `MySQL` as a Data-store, and leverage on `Kafka` for Messaging_ diff --git a/mojaloop-technical-overview/overview/components-PI8.md b/mojaloop-technical-overview/overview/components-PI8.md new file mode 100644 index 000000000..383a75614 --- /dev/null +++ b/mojaloop-technical-overview/overview/components-PI8.md @@ -0,0 +1,7 @@ +# Mojaloop Hub Legacy Components - PI8 + +The following component diagram shows the break-down of the Mojaloop services and its micro-service architecture for pre PI8: + +![Mojaloop Architecture Overview PI8](./assets/diagrams/architecture/Arch-Mojaloop-overview-PI8.svg) + +_Note: Colour-grading indicates the relationship between data-store, and message-streaming / adapter-interconnects. E.g. `Central-Services` utilise `MySQL` as a Data-store, and leverage on `Kafka` for Messaging_