Кассандра реализует Поэтапное Event-Driven Architecture (СЕДА) см SEDA
В типичном применении, одна единица работы часто выполняется в пределах одной нити. Например, операция записи начинается и заканчивается в пределах одного потока. Кассандра, однако, отличается: модель параллелизма основана на SEDA, поэтому одна операция может начинаться с одного потока, который затем передает работу другому потоку, который может передать его другим потокам. Но дело не в текущем потоке, чтобы передать работу другому потоку. Вместо этого работа подразделяется на так называемые этапы, а пул потоков (действительно, java.util.concurrent.ExecutorService), связанный со сценой, определяет выполнение. Этап - это базовая единица работы, и одна операция может переходить из одного этапа в другой. Поскольку каждый этап может обрабатываться другим пулом потоков, Cassandra испытывает значительное улучшение производительности. Чтение представлено как этап в кассандре, поэтому на этапе чтения определенно много потоков, вам нужно будет глубже изучить исходный код, чтобы понять, используются ли для чтения или нет ни один поток на этапе чтения.