저는 현재 상당히 큰 Akka 기반 Java 응용 프로그램을 만드는 중이며 끝내기 위해 몇 가지 문제가 발생했습니다.Akka 메시지 및 액터의 명명 규칙
내 현재 패키지 레이아웃은 다음과 같이 좀 같습니다
내 Mobile
클래스는 actors
패키지 안에 배우의 관리자 역할.
내가 HttpClient
및 Account
모든 위해 배우의 새로운 세트를 만들려하지 않기 때문에
ActorRef
와 함께 메시지 패키지에 저장된 메시지 객체에 주위에있는 사람들을 전달합니다. 그러나 이것은 각 배우에 대해 서로 다른 메시지가 포함 된 매우 어수선한
messages
패키지를 만듭니다. 예 :
MobileForActor1
,
Actor1ForMobile
,
MobileForActor2
등. 이제 내 질문은이 문제를 다루는이 종류의 물건을 사용하는 협약이 있으며 내 구조 (
Mobile
->
Actor1
->
Mobile
->
Actor2
-> 등)입니다. Akka는 그것이되고 싶어하거나 나는 단지 메시지 (
Mobile
->
Actor1
->
Actor2
-> 등)의 일종의 폭포가되어야합니까?
는 지금 내가 보내고있어 내 다음 Actor1
로 전송 Mobile
배우, Actor1
프로세스를 다시 Mobile
에 새로운 메시지를 전송에 ConnectMessage
는 Mobile
는 Actor2
에 그 응답을 전송하고주기는 새로운 메시지로 계속 이전 메시지를 기반으로 생성됩니다. 예 : new Message2(message1.foo, message1.bar, message1.baz, newComputatedResult, newComputatedResult2, etc);
이 우수 사례입니까, 아니면 이전 인스턴스 (더 이상 유용하지 않은 정보가 포함될 수 있음)를 포함시켜야하며 새로운 것을 포함해야합니까? 예 : new Message2(message1, newComputatedResult, newComputatedResult2, etc);
아니면 완전히 다른 것을해야합니까?
TypedActors를 사용하려고했지만 폭포수 패턴을 사용해야하고 최종 결과를 수신하려는 수신기의 ActorRef를 전달하는 방법을 모르겠습니다.
나는 영어가 나의 처녀 언어가 아니기 때문에 내가 충분히 이해할 수 있었으면 좋겠다. 그리고 질문은 모두에게 분명하다.
저는 처음에는 Akka 개발자 였고 아이디어가 좋았지 만 문서가 이것을 잘 설명하지 못하기 때문에 이것이 가장 좋은 곳이라고 생각했습니다. 읽어 주셔서 감사합니다!
좋은 메시지 이름 지정의 몇 가지 예를 보여 줄 수 있습니까? 예를 들어 나는 공급자와 소비자가있다. 소비자는 공급자에게 얼마나 많은 상품이 있는지 묻고 싶어합니다. 요청 및 응답을 위해 메시지의 이름을 어떻게 지정 하시겠습니까? –
@TemaBolshakov - "GetGoodsCountRequest"및 "GetGoodsCountResponse"는 어떻습니까? –
이 이름은 스칼라로 충분히 관용적이지 않습니다. 나는 첫 번째 것을 좋아하지만 나중에는 조금 복잡해 보입니다. Int로 응답하는 것이 더 나은가? 또는 Int의 유형 별명을 정의하십시오 (예 :'type GoodsCount = Int'). 스칼라에서 가장 좋은 옵션은 무엇입니까? –