Strona główna » Flowee for banking » Architecture
Architecture

Understanding Flowee
Flowee is a platform based on Event Driven Architecture and supported by three key patterns of Distributed Architecture such as CQRS, Event Sourcing, Domain Driven Development.
Thanks to the use of the CQRS pattern, we can create highly efficient read models optimized for specific use cases—whether it’s adapting the model for user interfaces, reporting, or integration. Additionally, applying this pattern simplifies the implementation of business logic by separating write logic from read logic.
Event Sourcing provides the ability to read the state of data at any point in the system’s history, which positively impacts capabilities such as user behavior analysis, system auditing, and retrieving the historical state of domain objects.
The use of key building blocks from the Domain-Driven Design approach—such as aggregates, entities, and value objects—in the designed microservices contributes to better modularity, maintainability, and scalability. It also accelerates the onboarding of new team members familiar with these universal concepts.
Scalable and Flexible Microservice Communication
Flowee leverages asynchronous communication between microservices using event-driven architecture. This approach ensures high scalability and flexibility, allowing the platform to efficiently handle growing workloads and evolving business requirements. Each microservice builds only the projections it needs based on the events it consumes, resulting in minimal coupling. This independence significantly improves the system’s reliability and reduces the risk of cascading failures.
Modular Architecture Supporting Business Agility
The Flowee platform is composed of key components such as the API Gateway, BPM Engine (Camunda), Core and Business Domains, Event Store, and Monitoring. Each component is designed to fulfill a specific role within the platform, offering a clear separation of concerns and modularity. This structure enables rapid development, easier maintenance, and seamless onboarding of new team members familiar with standard architectural patterns like Domain-Driven Design.
High Availability and Business Continuity

Extensibility for Complex Business Needs
Beyond standard process orchestration, Flowee supports building domain-specific functionality through dedicated microservices. This flexibility allows organizations to meet unique business requirements, such as browsing complex domain objects (e.g., policies, certificates, claims) or handling advanced integrations. As a result, Flowee is not just a BPM platform—it’s a foundation for custom business solutions that evolve alongside your operations.
Enhanced Observability and Auditability
With features like event sourcing and centralized monitoring, Flowee provides full transparency into system behavior and historical data. Every change made by users, along with all processed tasks, is recorded and traceable. This not only simplifies auditing and compliance but also enables deep user behavior analysis and system diagnostics—supporting smarter, data-informed decisions.

Flowee monitoring
To ensure seamless workflow and safty Flowee is being constantly and closely monitored with the use of Prometheus & Grafana.
We provide configuration and ready-to-use Grafana dashboards for both microservices and infrastructure components, including the PostgreSQL database and the Kafka cluster.
We monitor closely CPU usage, detailed Java Virtual Machine memory statistics, garbage collector metrics, database connection pool status, average query durations, and the number and handling times of requests received by network services.
Comprehensive Monitoring for Kafka Performance and Reliability
Flowee ensures full observability of the Kafka cluster by exposing detailed performance metrics through Prometheus, using the jmx_exporter
library configured as a lightweight Java agent. This allows for seamless integration without disrupting service operation.
With a preconfigured Grafana dashboard, teams gain immediate access to key indicators such as the number of active brokers and partitions, under-replicated partitions, message throughput, and connection activity for both producers and consumers. Additionally, insights into internal broker buffers and write latency to persistent storage help teams detect issues early and optimize system performance.
This level of visibility enables faster troubleshooting, improved stability, and better decision-making—ensuring Kafka remains a reliable backbone for event-driven communication across the platform.


Real-Time Visibility into Kafka Consumption Lag for Optimal System Performance
Monitoring message consumption lag in Kafka is one of the key indicators of the Flowee system’s health. It allows teams to verify whether each component of a microservice is effectively and efficiently consuming the messages intended for it. This ensures smooth system operation and helps detect performance bottlenecks before they impact business processes.
By tracking lag across all consumer groups—both in terms of the number of unprocessed messages and estimated time delay—Flowee provides actionable insights. This data serves as a foundation for smart scaling decisions, such as increasing the number of application instances to maintain responsiveness under growing load.
With this level of observability, teams can proactively manage system performance, improve reliability, and ensure that services remain responsive even under peak demand.
Insightful Monitoring of PostgreSQL Performance for Greater Stability and Efficiency
Flowee integrates PostgreSQL monitoring using the postgres_exporter
tool, which collects vital metrics from the database server and makes them available to Prometheus. This seamless integration ensures real-time visibility into the health and performance of the database layer—without adding operational overhead.
Key metrics include the number of active connections per database, the volume of rows selected, updated, and deleted by SQL queries, and the usage of internal Postgres buffers. These insights help teams detect unusual patterns, prevent resource exhaustion, and fine-tune query performance.
With access to these detailed metrics, operations teams can optimize resource usage, improve database responsiveness, and ensure stable performance across all application components.

Backup & recovery
Flowee safeguards critical data with continuous backups and Point-in-Time Recovery (PITR) capabilities, allowing precise restoration to any moment in time. This minimizes data loss and ensures rapid recovery from incidents such as human error or system failure.
Using the robust Barman tool for PostgreSQL, backups are managed efficiently and reliably. To further strengthen business continuity, a hot standby database instance is maintained—ready to take over instantly in the event of a failure. This dual-layer approach ensures uninterrupted service and peace of mind, even in high-risk scenarios.
To ensure the safety of data stored by specific microservices within the Flowee system, dedicated disk volume backups are implemented. In production environments, it is recommended to use cloud-native solutions such as Azure Disk Storage or similar services that offer built-in backup mechanisms.
By leveraging these native cloud tools, organizations benefit from automated, reliable, and scalable backups that minimize the risk of data loss and simplify disaster recovery processes. This approach also supports compliance and operational continuity, even in the event of unexpected infrastructure issues.
Flowee ensures the continuity of event streaming by implementing a backup Kafka cluster with continuous data replication from the main production cluster. This is achieved using proven tools such as Kafka MirrorMaker 2 or the Confluent Replicator for enterprise-grade reliability.
This setup provides a robust failover mechanism, ensuring that even in the event of a major outage, event data remains intact and accessible. With real-time replication, organizations can maintain uninterrupted service, protect critical message flows, and confidently meet availability and disaster recovery requirements.

Fast and Flexible Full System Recovery for Business Continuity
- Database Recovery – The system state can be restored from a backup using the Barman tool for PostgreSQL. Alternatively, if a hot standby database is configured, Flowee can be seamlessly switched to this standby instance, eliminating the need for time-consuming full database restoration. In such cases, the standby server immediately takes over production traffic, accelerating recovery and reducing service disruption.
- Disk Volume Recovery – Any disk volumes used by microservices can be quickly restored from cloud-native backups, ensuring the protection of critical microservice data with minimal effort.
- Kafka Cluster Recovery – Depending on the situation, either replicated data from the backup Kafka cluster can be copied to the primary one, or the application can be switched to the backup Kafka cluster, which then takes over production traffic without interruption.
Let's talk about processes that Flowee can help you with
