2016-08-22 14 views
0

도메인 이벤트에 단일 Mongo 컬렉션 (domainevents) 사용의 성능에 대해 걱정합니다.Axon 프레임 워크 - 각 집계 루트에 대해 별도의 Mongo 도메인 이벤트 컬렉션 사용

domainevents 컬렉션을 각 집계 루트별로 별도의 컬렉션으로 분할하는 것이 좋습니까?

여러 집계 루트의 이벤트를 기반으로 생성되는 쿼리 모델이 있습니다. domainevents를 여러 콜렉션으로 분리하면 Axon은 집계 루트에서 이벤트 순서를 보존합니까?

그리고 일반적으로이 작업을 수행하는 것이 좋습니다.

답변

1

여기에 몇 가지 질문이 있습니다. 답변을 얻으려면 다른 지식이 필요합니다. 나는 MongoDB 전문가는 아니지만 창시자 인 Axon을 돌아 다닌다.

Axon의 MongoEventStore은 기본적으로 도메인 이벤트에 대한 여러 모음을 지원하지 않습니다. 따라서 주문 보존 쿼리에 대한 대답은 직접 지원을하지 않는 한 작동하지 않습니다. 그런 다음 주문 방법에 따라 주문이 보장됩니다.

몽고 컬렉션을 샤딩하는 것도 고려해 볼 수 있습니다. 집계 식별자를 샤드 키로 사용하면 집계 스트림에 대한 쿼리가 단일 샤드를 차지하도록 보장 할 수 있습니다. 문서에 따르면이 샤드 키가 포함되지 않은 쿼리는 사용하지 않는 것이 좋습니다.

이 성능 문제를 해결하는 가장 좋은 방법은 성능 테스트를 수행하는 것입니다. 컬렉션의 크기가 커짐에 따라 대기 시간과 처리량이 어떻게 영향을 받는지 확인하십시오. 올바른 색인을 추가하면 도움이 될 수 있습니다.