2017-09-09 2 views
1

안녕하세요 저는 datastax 드라이버를 사용하여 내 자신의 Cassandra 커넥터를 만듭니다. 하지만 메모리 누출 문제가 있으므로 Cassandra 커넥터가있는 Alpakka de lightbend와 같은 다른 솔루션을 고려하기 시작합니다.DTO를 Alpakka Cassandra에 저장하십시오.

하지만 가난한 문서를 확인한 후에는 CQLSH 쿼리와 함께 커넥터를 사용하고 있으므로 내 마음이 바뀌었고 제 경우에는 DTO 개체를 관리합니다.

Alpakka cassandra가 일관성 수준의 DTO 저장을 관리하는 경우 누구나 내가 알 수있는 문서를 알고 있습니까?

이 코드는 현재 사용중인 코드입니다. 비슷한 것을 이루고 싶습니다.

private void updateCreateEntry(DTO originalDto, Mapper cassandraMapper) { 
    ConsistencyLevel consistencyLevel = ((DTOCassandra) originalDto).getConsistencyLevel(); 
    //.- For writing we set the consistency level to quorum 
    cassandraMapper.save(originalDto, Option.consistencyLevel(consistencyLevel != null ? consistencyLevel : DEFAULT_CONSISTENCY_LEVEL)); 
} 

답변

1

알다시피, 현재 Alpakka 내의 카산드라 커넥터는 매우 얇습니다. DTO에 대한보다 풍부한 지원이 필요하면 Phantom과 같은 더 풍부한 클라이언트를 선택할 수 있습니다.

Phantom을 사용하는 방법에 대한 훌륭한 예가 있습니다 (예 : this one). 모델을 만들면 Phantom에서 데이터를 삽입하는 def store[T](t: T): Future[ResultSet] 기능을 제공합니다.

이러한 기능에 대한 호출을 mapAsync(n) 연결자에게 보내어 Akka 스트림에서 사용할 수 있습니다.

+0

감사합니다. – paul