User: Jdruker/GIMPEGuide Architecture2
Architecture[ | edit source]
Proposed extension of the ArticlePEServiceArchitecture template. This example extends GIM Architecture.
Legend:
- Black font = Boilerplate + existing service-specific structured content
- Green font = Service-specific free text
- Lavender font = Conditional boilerplate suppressible while content is under development
- Brown font = Service-specific structured content in a suppressible section.
Introduction[ | edit source]
Genesys Info Mart is the historical reporting back-end service that performs extract, transform, and load (ETL) processing of data generated by contact center activity. Genesys Info Mart comprises the following services:
- GIM Config Adapter (GCA) — Reads configuration data from the contact center Configuration Database and stores the data into Kafka topics for consumption during transformation processing. There is a separate GCA service for each tenant.
- GIM Stream Processor (GSP) — Processes GCA-sourced configuration data and raw event data streamed to Kafka from upstream services handling interaction and agent activity on Voice and Digital channels. GSP transforms the data into data structures suitable for a data mart for contact center historical reporting.
- GIM — Pulls the transformed data from Kafka and loads the transformed data into the Info Mart database. The GIM service also performs other database-related tasks, such as a regular maintenance job and an export job to export Info Mart data. There is a separate GIM service and Info Mart database for each tenant.
All the Genesys Info Mart services are stateful. This has implications for high availability (HA) and disaster recovery (DR) (see High availability and disaster recovery) as well as for upgrade methods, because you cannot deploy mirrored services in parallel.
For information about the overall architecture of Genesys Multicloud CX private edition, see the high-level Architecture page.
The following diagrams show the Genesys Info Mart architecture.
- Architecture diagram — Data flows is from the point of view of data.
- Architecture diagram — Connections is from the point of view of network connections.
See also High availability and disaster recovery for information about high availability/disaster recovery architecture.
Architecture diagram — Data flows[ | edit source]
Writer's note: The diagram will be the same as the Connections one except for the arrows. The current Connections diagram is used here as a placeholder.
The numbers on the connection lines refer to the connection numbers in the table that follows the diagrams. The direction of the arrows indicates the direction of data flows.
Architecture diagram — Connections[ | edit source]
The numbers on the connection lines refer to the connection numbers in the table that follows the diagrams. The direction of the arrows indicates where the connection is initiated (the source) and where an initiated connection connects to (the destination), from the point of view of Genesys Info Mart as a service in the network.
Connections table[ | edit source]
The connection numbers refer to the numbers on the connection lines in the diagrams above. The Source, Destination, and Connection Classification columns in the table relate to the direction of the arrows in the Connections diagram above: The source is where the connection is initiated, and the destination is where an initiated connection connects to, from the point of view of Genesys Info Mart as a service in the network. Egress means the Genesys Info Mart service is the source, and Ingress means the Genesys Info Mart service is the destination. Intra-cluster means the connection is between services in the cluster.
Connection | Source | Destination | Protocol | Port | Connection Classification | Data that travels on this connection |
---|---|---|---|---|---|---|
1 | GIM Stream Processor | Object storage | HTTPS | 443 | Egress | GSP state information, checkpoints, and other data used during processing |
2 | GIM Config Adapter | Object storage | HTTPS | 443 | Egress | Configuration data stored as a GCA snapshot used during processing |
3 | GIM Config Adapter | Configuration Database | TCP | 5432 | Egress | Contact center configuration data, which GCA uses to construct the GCA snapshot used during processing |
4 | GIM Config Adapter | Info Mart database | TCP | 5432 | Egress | Configuration data to synchronize the GCA snapshot with configuration data stored in the Info Mart database |
5 | GIM | Info Mart database | SSL | 5432 | Egress | Transformed reporting data to be stored in the Info Mart database. GIM also uses this connection to perform database maintenance. |
6 | GIM | Object storage | HTTP | 443 | Egress | Reporting data exported from the Info Mart database |
7 | Prometheus | GIM Stream Processor | HTTP | 9249 | Ingress | Metrics for monitoring and alerting |
8 | Prometheus | GIM | HTTP | 8249 | Ingress | Metrics for monitoring and alerting |
9 | GIM Stream Processor | Kafka | Kafka | 9092 | Egress | Message bus for receiving and sending reporting data |
10 | GIM Config Adapter | Kafka | Kafka | 9092 | Egress | Message bus for sending configuration data |
11 | GIM | Kafka | Kafka | 9092 | Egress | Message bus for receiving transformed reporting data |
Ports used for internal purposes[ | edit source]
GSP uses the following ports for internal connections with Flink.
Port | Protocol |
---|---|
Task manager | |
6122 | RPC |
Job manager | |
6123 | RPC |
6124 | Blob |
8081 | REST |