분산처리환경에서 단순화된 개발방법을 제시하는 AKKA 다음과 같은 컨셉순으로 정리하고 있습니다.
분산환경에서의 동시성 처리에대한 해결모델은 언어및 플랫폼에 종속적이지 않으며,AKKA가 아니여도 됩니다. AKKA는단지 분산처리에있어서 기본개념을 먼저 알려주고 단순화된 개발모델을 제시하며 개발자는 그것을 이용하여 응용프로그램내에 직접 작성 할수있습니다. 그 중심엔 액터가 있습니다. |
ACTOR :
AKKA에서 내세우는 강점
액터와 스트림을 사용하면 여러 서버에서 효율적으로 리소스를 사용하여 확장하는 시스템을 구축 할 수 있는 개발 모델지원 |
현대시스템에서 시스템의 일부가 다운되거나 고장 나는것은 예외적인 현상이아니라 평범한 동작의 일부이다. 장애가 발생할 경우,자가 치유되고 응답 성을 유지하는 시스템을 작성할 수 있는 개발 모델을 제시해줍니다. Resilient : 탄력적인 , 유연한 |
단일 기계에서 최대 초당 5 천만 메시지 처리 가능하며 메모리 힙 GB 당 250 만명의 액터생성가능합니다. |
단일 실패 지점이없는 분산 시스템. 로드 밸런싱 및 라우팅 노드. 클러스터 소싱을 사용한 이벤트 소싱 및 CQRS CRDT를 사용한 최종 일관성을위한 분산 데이터 프로그래밍 모델지원
|
성능에 있어서 역압력장치(backpressure) 사용으로, 비동기 비 차단 스트림을 모두 처리하려고함. 완전 비동기 및 스트리밍 HTTP 서버 및 클라이언트에서 마이크로 서비스를 구축하기위한 훌륭한 플랫폼을 제공합니다.
|
AKKA.NET-실습에서 샘플코드 기능검증과 활용안을 준비중에있습니다.
|
|
|
|
|
액터모델을 도입한 개발 툴킷들 Akka : http://akka.io/ -Akka (Scala및 Java에서 사용가능) Akka.net : http://getakka.net/ ( JVM버젼을 닷넷 변환으로 포팅) Erlang : http://erlang.org/doc/getting_started/conc_prog.html - Actor의 원조 Orleans : https://dotnet.github.io/orleans/ - MS에서도 Actor모델을 도입 LightBend : https://www.lightbend.com/products/reactive-platform (종합선물 셋트 : 중심엔 AKKA가있고 주위에 마이크로서비스를 위한 플랫폼이 있음) LightBend_한국지원 : http://www.qtii.co.kr/product/LRP.html 그외 기타 정보 액터도입현황 : https://en.wikipedia.org/wiki/Actor_model#Actor_libraries_and_frameworks 파이썬 Actor : http://thespianpy.com/doc/#outline-container-orgheadline7 국내도서 추천 : Akka 코딩 공작소 ( 길벗 ) 이곳 문서에서는 동시성처리에 대한 여러가지 내용을 참고하고있으며 주로 위 내용에 영향을 받아 정리중에 있습니다. 최종목표는 여기서 설명된 이론들을 이해하고, 실제로 동일하게 작동하는지 검증을 하는 활동의 문서입니다. |