Stupid question: Why do you rate limit a database, especially writes. Wouldn't that cause a lot of new issues like back pressure on the rest of your system or timeouts in case of blocking requests? Also rate limiting has to be based on per coordinator calculations and not cluster wide. It reminds me on hinted handoff throttling.
Am 18.02.2017 03:13 schrieb "Abhishek Verma" <ve...@uber.com>: > Cassandra is being used on a large scale at Uber. We usually create > dedicated clusters for each of our internal use cases, however that is > difficult to scale and manage. > > We are investigating the approach of using a single shared cluster with > 100s of nodes and handle 10s to 100s of different use cases for different > products in the same cluster. We can define different keyspaces for each of > them, but that does not help in case of noisy neighbors. > > Does anybody in the community have similar large shared clusters and/or > face noisy neighbor issues? > > Is there a way to throttle read and write queries in Cassandra currently? > If not, what would be the right place in the code to implement a pluggable > interface for doing it. I have briefly considered using triggers, but that > is invoked only in the write path. The initial goal is to have a custom > pluggable class which would be a no-op. > > We would like to enforce these rate limits per table and for different > query types (point or range queries, or LWT) separately. > > Thank you in advance. > > -Abhishek. >