Hello all,
I have a dropwizard application where one of the endpoints is meant to be requested orders of magnitude more than other endpoints, let's call it endpoint x, which is in the critical path of a latency-sensitive workload.
This endpoint will be hit 5k+ times per second at peak times with average rates being anywhere from 100 - 500 times per second and is meant to respond within 2-5 milliseconds.
At the same time, I have other endpoints which are infrequently hit but which access databases and applies logic which is substantially slower (think operational management of a distributed set of machines and applying changes over this cluster).
Is there a way to define this endpoint x to have a dedicated thread pool and jetty instance such that blocking operations on other endpoints (operational and even dropwizard's metrics endpoints) do not affect the application's ability to respond to the more important one?
Additionally, do you have any advice on how I can disable deserialization logic to not pay that cost? I already handle serialization/deserialization in another part of the codebase and if I could simply send bytes down the wire it would be perfect
I can't seem to find any documentation or general information about this. Can someone help me out?
Thank you for your time.
Have a great rest of day!