HI all ,
Mine is a microservice (REST based stateless endpoint )running on the cloud. Our service mainly deals with Invoices , where the Items of the Invoice need to be evaluated against a set of rules .
We are now evaluating Drools to implement these business rules .
I have the following query with respect to Multi-threading / Parallelism options in Drools.
Use Case 1 :
Our service receives an invoice with say 15000 Items , to be processed . We need to evaluate the same set of rules for each of the items. It is Ok to process each item in parallel . How do I achieve this in Drools ?
Use case 2:
Our service is called from 100 different end users . Such users may have invoices ranging from 1 item to 15000 items in the invoice . How do I make sure that the I maintain the same response time for all ? Should I use KIE Execution Server which is a standalone exceution server ? In such a case, is this server something like another microservice ? . So, will there not be performance issues in making a REST call from my service to the KIE Execution Server ? On the other hand , if I embed the runtime in my application, then will it mean that I kind of tie the runtime One to One to the user request ?
What is the best approach for the runtime considering both the use cases here ?