2016-07-10 10 views
3

저는 최근에 ES 및 CQRS 모델에 대한 여러 동영상을 보았을뿐 아니라 AKKA 영속성에 대한 몇 가지 이야기를 보았습니다. 나는 그들이 무엇에 관한 것인지 알지만 실행될 실제 코드를 작성하는 데 문제가 있습니다.AKKA 영속성 및 ES 및 CQRS 원리 이해

나는 몇 가지 질문이 있습니다. 보기 및 이벤트 스택을 어떻게 통신해야합니까? 동일한 지속성 ID의 영구적 액터와 뷰 사이에 이벤트가 전달됩니까? 모델에 따라 책임을지는 영구 액터 및 뷰는 무엇입니까?

편집 : 내 비즈니스 로직을 어디에 배치해야합니까? 모델에 따르면 내가 쓰기를해야하지만, 만약 내가 cmd를 확인 읽기에 뭔가를 확인해야합니까?

+1

때때로 나는 느낌 등이있다 - 예를 들어,

당신은보기가 그래서 의사 소통의 다양한 방법이있을 수 있습니다 무엇 말했다하지 않은 Akka 커뮤니티 전체가 그 질문을 피하고 있습니다. 어쨌든'PersistentView'는 더 이상 사용되지 않기 때문에 나는 개인적으로 Akka Persistence Query를 대신 사용하도록 권고 받았다. 읽기 측면에서는 읽기 액터의 모든 이벤트를 투영하고 읽기 저장소 (일부 데이터베이스)를 업데이트합니다. 영구 액터는 이벤트 저장소 (일부 데이터베이스)에 이벤트를 작성하고 응답 한 다음 상태를 업데이트하는 데 사용합니다. 바라건대, 누군가 Akka에서 ES와 CQRS의 올바른 구현을 명확히하기위한 작은 예제를 만들 것입니다. –

+0

@BranislavLazic 친절하게 대해 주셔서 감사합니다. 그게 내가 알아야 할 것이 었어. 나는 엄청난 물질을 보았고 각 aproach는 다소 달랐다. 그건 akka 워드 프로세서가 엘릭서처럼 좋지 않다는 것이 너무 나쁘다 ... – Haito

+0

http://stackoverflow.com/a/42941900/2113120 및 http://stackoverflow.com/questions/38246786/akka-persistence-query를 참조하십시오. -event-stream-and-cqrs – Cal

답변

0

명령을 유효하게하려면 읽기 모드에서 내용을 확인하지 않아도됩니다. 명령은 쓰기 모델에 대해 실행됩니다.

액터 안에서 Akka를 사용한다면 비즈니스 논리가 쓰기 편에 들어갑니다. 웹 페이지에서는 SignalR 같은 것을 REQ의/입술을, 또는 사용할 수 있다면

+0

akka 지속성에서 PersistenceView를 사용하려고했지만 사용되지 않게되었습니다. 나는 논리가 모형을 쓰는 것을 알고 있지만, 만약에 뭔가 일찍 일어 났는지를 확인할 필요가 있다면? 정보가보기에 의해 유지되는 상태에 저장된다는 것을 이해하는 한. 그래서 나는 단지 읽기와 쓰기 사이의 메시지를 스팸해야만 하는가? – Haito

+0

실제 문제를 설명 할 때 도움이 될 것입니다. 추상적 인 설명이 무엇인지 이해하기가 어렵습니다. – tomliversidge

+0

글쎄요, 그저 아이디어를 놓치고 모든 것이 분명해졌습니다. – Haito