반응형
배우 기반 시스템 구축을위한 디자인 패턴 / 모범 사례
Actor 기반 앱을 빌드하는 데 사용해야하는 디자인 패턴, 모범 사례 또는 좋은 기본 아키텍처 원칙에 대한 적절한 링크를 찾는 데 어려움을 겪고 있습니다. 내가 아는 몇 가지는 다음과 같습니다.
블로그 게시물, 기사, WIKI, 가이드
- OTP 설계 원칙 사용자 가이드
- 엔터프라이즈 통합을위한 패턴 및 모범 사례 (일반적으로 모든 메시지 기반 아키텍처에 적용 가능)
- 배우와 함께 디자인 상태를 다루는 James Iry 의 게시물 시리즈
- Ittay Dror의 Scala 배우와 함께 디자인에 대한 일련의 게시물
- Wikipedia의 동시성 패턴 문서
- 확장 가능한 시스템 디자인 패턴 (액터와 직접 관련이 없지만 매우 유용함)
- 액터 동시성 이해, pt.1 , pt.2 by Alex Miller
서류
- Joe Armstrong의 안정적인 분산 시스템 만들기에 대한 토론
- Philipp Haller와 Martin Odersky의 Scalabale 구성 요소 추상화
- Martin Odersky 및 Matthias Zenger 의 제어 반전없는 이벤트 기반 프로그래밍
- 다중 머리 메시지를 가진 배우는 Martin Sulzmann의 패턴 을 수신합니다.
서적
- Philipp Haller와 Frank Sommers의 Actors In Scala
- Joe Armstrong의 프로그래밍 Erlang
- Martin Logan, Eric Merritt 및 Richard Carlsson의 Erlang 및 OTP 작동
구현
- Akka 프레임 워크 (여러 Erlang 동작 포트와 액터에 대한 기타 관련 패턴을 포함하는 스칼라의 액터 대체 구현)
- Scalaz 액터 (배우 구성, 전략 및 약속)
프리젠 테이션
- Dale Schumacher의 배우 생각
- Ulf Wiger의 1000 년 된 디자인 패턴
- Jamie Ridgway의 배우 기반 프로그래밍
- Школа Актерского Мастерства by Vasil Remeniuk
highscalability.com의 예
- 단순 대기열 서비스 (SQS) -이 서비스는 메시지 저장을위한 인터넷 규모 대기열 서비스를 제공합니다. 분산 된 액터는 작업을 대기열에 넣고 작업을 대기열에서 제거합니다. 일반적인 용도 : 중앙 집중식 작업 대기열. 작업을 대기열에 넣으면 다른 액터가 대기열의 작업을 표시하고 CPU 시간을 얻을 때 처리 할 수 있습니다. 확장 성의 일부입니다. 생산자와 소비자가 얼마든지 있습니다. 당신은 그것에 대해 걱정하지 않습니다. 대기열은 여러 시스템과 여러 데이터 센터에 분산되어 있습니다.
이것은 정확히 동일 하지는 않지만 이전 질문 과 관련이 있습니다 !
동시성 의 행위자 모델 은 상태 저장 단일 VM 애플리케이션 (몇 개의 개별 행위자 클래스 포함)에서 수천 개의 행위자 클래스 인스턴스의 상태 비 저장 클러스터에 이르기까지 다양한 유형의 애플리케이션을 구축 할 수 있기 때문에 그렇게 간단한 질문이 아닙니다. .
그러나 핵심 원칙은 동일합니다.
- 배우의 상태를 노출하지 마십시오
- 변경 불가능한 메시지 전달을 통해서만 통신
몇 주 전에 Scala에서 배우 개발 에 대한 학습 에 대한 블로그를 게시했습니다 . 패러다임에 대한 몇 년의 경험을 바탕으로 한 모범 사례 및 피해야 할 사항에 대한 게시물입니다.
책 'Reactive Design Patterns'는 Manning에서 제작 중입니다.
반응형
'Program Tip' 카테고리의 다른 글
GoogleTest vs CppUnit : 사실 (0) | 2020.11.25 |
---|---|
사용할 @NonNull Java 주석 (0) | 2020.11.25 |
파이썬 db-api : fetchone vs fetchmany vs fetchall (0) | 2020.11.25 |
성능 : 일반에서 파생 된 유형 (0) | 2020.11.25 |
AVAssetWriter 및 AVAssetWriterInputs를 통해 비디오 + 오디오를 작성하는이 코드가 작동하지 않습니다. (0) | 2020.11.25 |