We are facing an obstacle where we may want to read event/message/data queues (MQ) from one of our servers. Since there are numerous users on the same server we want to prevent the reading of queues from affecting the performance in any way. If we have to solve this by requests, then I do think we need to distrbute the data read or written in a reasonable manner.
Currently I am thinking that we could do something like this:
Either we set up schema methods (web services) for writing data to our schemas or we use WriteCollection. We could also fetch data in JS, but that would take more time to implement. We let a Singleton keep track of threads available for writing data. When we can pull more data, we request a service to push data. We keep state of different queues to schemas in order to know when to make a call to write more data. We decide how large one batch of data can be.
The questions I currenly have:
Did anyone solve a similar issue before? If so, how did you do it? Do you think we need custom methods or can we use WriteCollection on our schemas? (for the write part) How do I manage the server threads and workers from JS in AC, is it possible?
Any input from someone who has worked with reading queues is welcome. Even if you are facing current issues that heads up is welcome too.