Kogito 10.x Horizontal Scaling — Optimistic Locking & Platform Services HA Support

14 views
Skip to first unread message

JR CA

unread,
Aug 25, 2026, 6:27:21 AM (2 days ago) Aug 25
to kogito-de...@googlegroups.com

Hello,

Hope you are doing well.

 

We are deploying a Kogito 10.2.0 workflow on Spring Boot with PostgreSQL JDBC persistence and Kafka eventing in a Kubernetes environment. Before scaling beyond a single replica, I'd like to clarify a few points:

 

  1. Engine Optimistic Locking (Spring Boot)

a.                The process-postgresql-persistence-springboot example README mentions: "Kogito runtimes need to be able to safely handle concurrent requests to shared instances such as process instances, tasks, etc."

                                                    i.     kogito.persistence.optimistic.lock=true

                                                  ii.     Questions:

1.                Is this property supported and recommended for Spring Boot runtimes (not just Quarkus)?

2.                Does it apply to both process instances AND user tasks?

3.                Are there any known limitations or additional configuration required?

 

  1. Data Index Horizontal Scaling
    1. We use incubator-kie-kogito-data-index-postgresql:10.2.0 as a shared read model, consuming events via Kafka consumer groups.

Our enterprise Kafka platform follows the "Public Event / Observer" pattern — the engine publishes state-change events to shared topics (e.g., *.public.kogito-process.all.processinstances.event.json.v1), and the Data Index subscribes as a consumer group.

Since Kafka natively handles partition assignment within a consumer group, we expect this should support multiple replicas.

  • Question:
    • Is running multiple Data Index replicas officially supported? Any documented HA configuration or known caveats (e.g., internal caching, GraphQL subscription state)?

 

  1. Jobs Service Scaling
    1. We use incubator-kie-kogito-jobs-service-postgresql:10.2.0 for timer/SLA handling.

                                                    i.     Question:

        1. Is there any leader election or distributed locking mechanism to prevent duplicate job execution with multiple replicas? Or should this service remain single-replica?

Our Stack:

  • Kogito 10.2.0 (via internal platform BOM)
  • Spring Boot 3.5.x
  • PostgreSQL 16 (JDBC persistence, schema-per-workflow)
  • Kafka (KRaft mode, enterprise platform)
  • Kubernetes

 

Thank you for your help and any guidance!


Jayro


Reply all
Reply to author
Forward
0 new messages