JasperReports IO At-Scale runs its services in separate Docker containers that work together in a Kubernetes cluster. Before deployment, you need to configure the various modules, for example to install your license and define the location of your repository, and then build the final Docker images.
This chapter includes the following sections:
• | JasperReports IO At-Scale Modules |
• | Configuring the Modules |
• | Using a Local Repository |
• | Building Docker Images |
JasperReports IO At-Scale Modules
JasperReports IO At-Scale contains several modules, also called pods, described in the following table. Each of these modules becomes a separate Docker image:
Module | Description |
jrio-client | This module contains a sample HTML application with documentation. The jrio-client module is also used for sample viz.js implementation that is used in an embedded report viewer. |
jrio-manager | This is the main manager or orchestrator module that also contains the license file. There is always exactly one instance of this module in the cluster. |
jrio-reporting | This is the main reporting application that generates reports from JRXML, but the reports are generated as serialized Java objects to be stored in the Redis cache module. |
jrio-rest | This module is responsible for inbound and outbound communication from the cluster, such that all tasks are input and output through this module. Its k8s service should be exposed. |
redis | This module is responsible for caching and queuing all report creation tasks in a Redis queue. The jrio-reporting and jrio-rest pods monitor the Redis queue for new tasks requests or task results. The jrio-manager module also checks report execution status which is stored in the Redis queue. |
jrio-export | The module that will generate the requested output format from the Java objects stored in the cache of the redis module. jrio-export stores all generated outputs back into the Redis cache. |
Recommended Comments
There are no comments to display.