일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Actor
- Hyperledger fabric gossip protocol
- Golang
- 플레이프레임워크
- play 강좌
- hyperledger fabric
- 파이썬 동시성
- 주키퍼
- 스칼라 강좌
- Play2 로 웹 개발
- 파이썬 강좌
- Adapter 패턴
- Play2
- Akka
- 블록체인
- 그라파나
- 스칼라 동시성
- 엔터프라이즈 블록체인
- 파이썬
- play2 강좌
- akka 강좌
- 스칼라
- 스위프트
- 파이썬 데이터분석
- 하이브리드앱
- 파이썬 머신러닝
- 하이퍼레저 패브릭
- CORDA
- 안드로이드 웹뷰
- 이더리움
- Today
- Total
목록Akka (27)
HAMA 블로그
- Scala 2.11 기반 - Akka 2.4.11 기반 - Learning Concurrent Programming in Scala 참고 액터 관리 (고장/예외 처리하기)모든 액터는 자신의 자식에 대한 관리자 (Supervisor) 역할을 수행한다. 어떤 자식 액터가 어떤 이유로 실패했을때, 부모에게 어떻게 처리 할 지 요청한다. 그때 부모가 처리하는 방법을 관리 정책이라 하면 다음과 같이 이루어진다.재시작한다. (Restart)별 거 아니면 무시하고 계속 실행한다. (Resume) 액터를 영구히 중단시킨다. (Stop)더 상위 액터에게 책임을 넘긴다. (Escalate)심플 예제 ) class Naughty extends Actor { val log = Logging(context.system, t..
- Scala 2.11 기반 - Akka 2.4.11 기반 - Learning Concurrent Programming in Scala 참고 액터 사이의 통신 - 액터 사이에는 위치투명성을 보장 한다. 즉 동일한 방식으로 동일한 메모리 혹은 원격 액터와의 통신가능.말하기(tell)- 기본적인 연산이고 ! 연산자를 사용한다. 비블로킹 연산이다. - Fire and Forget 이다. 즉 메세지를 보낸 다음에 잊어버린다. (제대로 배달된다는 보장무) - 많아야 한 번만 배달하는것을 보장한다. - 메세지 배달 순서를 보장한다. import akka.actor._ import akka.event.Logging import akka.pattern.{ask, pipe} import akka.util.Timeout ..
- Scala 2.11 기반 - Akka 2.4.11 기반 - Learning Concurrent Programming in Scala 참고 액터 생명 주기 import akka.actor.{Actor, ActorRef, ActorSystem, Props} import akka.event.Logging class LifecycleActor extends Actor { val log = Logging(context.system, this) var child: ActorRef = _ def receive = { case num: Double => log.info(s"got a double - $num") case num: Int => log.info(s"got an integer - $num") case l..
- Scala 2.11 기반 - Akka 2.4.11 기반 - Learning Concurrent Programming in Scala 참고 부모 액터 class ParentActor extends Actor { val log = Logging(context.system, this) def receive = { case "create" => context.actorOf(Props[ChildActor]) log.info(s"created a new child - children = ${context.children}") case "hi" => log.info("Kids, say hi!") for (c log.info("parent stopping") context.stop(self) } } - "creat..
- Scala 2.11 기반 - Akka 2.4.11 기반 - Learning Concurrent Programming in Scala 참고 생성 (Hello Akka)import akka.actor.{ ActorRef, ActorSystem, Props, Actor } import akka.event.Logging // 나의 액터 클래스 class Hello(val hello: String) extends Actor { val log = Logging(context.system, this) def receive = { case `hello` => // 받은 메세지가 'hello' 라면 log.info(s"Received a $hello!") case msg => // 받은 메세지가 아무것이라면 log...
- Scala 2.11 기반 (2.13.1의 짝은 아래 2.6.3 입니다.) - Akka 2.4.11 기반 (2.6.3)환경 설치 및 프로젝트 만들기 우리는 윈도우 환경에서 IntelliJ IDE 를 이용하여 AKKA 개발을 할 것입니다. 언어는 SCALA 를 사용~ Activator 를 이용한 방식도 일반적인데 그건 다른 블로그글을 참고하세요~ Activator , Play2 세팅 1. JDK 1.8 버전 설치 Akka 를 하기 위해서 미리 깔려져 있어야 할것은 단지 JDK 1.8 뿐입니다. jdk 1.8 설치하기 scala 나 Sbt 를 위한 것 들은 IntelliJ 에서 자체 제공합니다. (플러그인 다운로드) 2. IntelliJ 설치 처음 시작 하려면 무조건 IntelliJ 씁시다. 편하니깐~ (..
Akka 시작하기 Akka를 광고하자면처리율(throughput) 임백준님의 Akka 시작하기에서 발췌 아카를 이용한 리팩토링을 끝마쳤을 때, 똑같은 컴퓨터 위에서 전과 동일한 몬테 카를로 시나리오를 수행하는데 걸리는 시간이 6시간에서 2시간으로 단축되었다. 66%의 시간이 절약된 것이다. 결과를 확인한 사람들은 깜짝 놀랐다. 단순히 자바 스레드에서 아카로 라이브러리를 바꾸었을 뿐인데 그렇게 엄청난 차이가 있을 수 있냐며 고개를 갸웃거렸다. 물론 이런 차이를 일반화할 수는 없다. 이런 결과 하나를 가지고 아카가 자바 스레 드보다 3배 빠르다고 말하는 어리석은 사람은 없을 것이다. 아카도 내부적으로 자 1 아카에 대하여 - 017 바 스레드를 사용하기 때문에 그런 비교 자체가 성립하지 않는다. 하지만 일반..