我想了解被动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的线程池大小吗?
暂无答案!
目前还没有任何答案,快来回答吧!