使用响应spring数据cassandra阻塞调用

hrysbysz  于 2021-06-13  发布在  Cassandra
关注(0)|答案(0)|浏览(237)

我想了解被动spring数据cassandra是如何处理并发的?它是否使用事件循环模型?
所以我们有springwebflux,它使用netty和responsivespring数据cassandra,其中netty有自己的线程池,而responsivespring数据cassandra有自己的池。
在我们的rest控制器中,get方法之一使用以下代码。

return personRepository.findAll()
   .map(person -> doSomeComputeIntensivetask(person))
   .filter(person -> person.getAge()>30);

现在我们意识到netty池不执行findall方法,而是由cassandra执行。线程没有切换回netty池,而是继续使用spring数据cassandra线程池。这是否意味着spring数据cassandra线程被阻塞了?这是否意味着,如果调用太多,服务器可能会返回503服务不可用,因为将没有任何线程执行db查询?
我们也有一个Kafka消费者,所以我只想了解使用Kafka的含义

personRepository.findByDate(date).collectList().block();

而不是

personRepository.findByDate(date).subscribe();

Kafka消费品内部。
cassandra在内部使用什么并发模型?它是否类似于可完成的未来?也可以配置响应spring数据cassandra的线程池大小吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题