-
여러 노드에서 Akka 앱 실행
-
akka remote 모듈
- 클러스터링 X
- 분산 컴퓨팅은 어렵다. Akka도 마찬가지지만 Actor가 조금 쉽게 해준다.
- RPC, 로컬에서 호출하듯 리모트에서도 호출하고 싶다.- P2P
- 더 많은 노드로 구성된 네트워크에는 메시징이 적합
- 노드: 특정 task를 수행하는 role
- 프로토콜: TCIP/IP, UDP
- protocol data unit
- 그룹 멤버십: 노드 그룹
- static
- dynamic
- flexible to 실패 노드
- discovery
- 단일 노드에서 구현한 다음 코드 수정없이 멀티 노드로 확장할수 있는 방법은 ? 없다
- 로컬대비 분산 모델의 4가지 중요한 차이점
- Latency: 메시징 딜레이 타임 by traffic
- Partial Failure: 네트워크 상의 노드가 살아있는지 확인하는건 어렵다.
- Memory Access: 분산 설정에서 객체 참조를 얻어온다.
- Concurrency: no owner, 상호간 연산만 존재
- Akka는 로컬에서도 분산 모델로 동작하는것으로 이슈를 해결
- static 멤버십: 클라이언트-서버 네트워크, 프런트엔드 & 백엔드
- 프런트 엔드: REST 인터페이스
- lookup BoxOffice 액터
- deploy remotely BoxOffice 액터
- 백 엔드: BoxOffice, TicketSeller
- build.sbt
- akka-remote
- akka-multi-node-testkit
- remote node 주소를 찾는 방법
- look up
- create,get reference,deploy it remotely
- application.conf
- ActorRefProvider
- backend:2551, frontend:2552
- actorSelection 메소드
- Remote Lookup 이 필요한 이유
- backend 액터 시스템은 시작되지 않았거나 crashed 되었거나 재시작되지 않았을수 있다.
- boxOffice 액터 자체가 crashed restarted 될수 있다.
- Identify 메시지
- static 멤버십: 클라이언트-서버 네트워크, 프런트엔드 & 백엔드
- 프런트 엔드: REST 인터페이스
- lookup BoxOffice 액터
- deploy remotely BoxOffice 액터
- 백 엔드: BoxOffice, TicketSeller
Made with Slides.com