Tech/Lang

Vertx 와 Akka에 대해 (Akka 만세)

glqdlt 2017. 3. 21. 20:31

AKka와 Vertx는 닮은 점이 많다.


리액티브를 지향하고 있는 점이나, 이벤트 루프식의 (Akka는 이벤트라기보다는 메시징 기반이 적절하다) 스택도 그렇고, 각 verticle 이나 actor와 같이 독립적인 개체라고 처리하는 부분(share가 없다)도 그렇고 말이다. 

애초에 vertx의 창시자중 한명인 Tim Fox의 인터뷰를 보면 (


https://www.infoq.com/articles/vertx-3-tim-fox)

최근 비동기(Reactive) 프레임워크에 대한 (Spring에 대한 이야기도 있는 데,  Spring5에서 비동기를 지원하니 이해하자 -_-) 개인적인 감상을 밝힌 바가 있는 데, 여기서  Akka에 대한 이야기도 나온다. 이 부분에서 말하길 Akka와 Vertx는 닮은 꼴도 많고, 어떠한 프레임워크를 쓰더라도 좋은 선택이 될 것이라고 얘기를 한다.

사실 나는 원래 Vertx를 조금 다루었었다. 

네트워킹 처리에서 Netty를 쓰다가, 이벤트 루프 방식에 Vertx가 핫 하다는 이야기로 관심있게 보다가 스터디를 진행했던 것이 계기 였다. (다른 대상으로 레퍼런스가 넘치다 못해 흘러내리는 node.js를 보려 했으나 근간을 이루는 v8엔진이 단일 스레드기반이어서 말이 많길래, jvm기반의 vertx를 쓰게 되었다. 사실 node.js나 vertx 나 이벤트 루프 기반이고 다 비슷한데, 결정적으로 이 JVM덕에 스레드처리가 다르다.)


문제는 이놈의 vertx가 vert.x가 되기도 vertx도 되면서 버전이 올라갈 때마다 사용법이 자주 바뀌는 문제가 있엇다. 그런 문제 때문에 가뜩이나 멍청한 머리로 공부하기가 불편했던 기억이 있다. (참고: http://hamait.tistory.com/678)

또 다른 문제로는  vertx는 클러스터링을 위해 hazelcast를 쓰고 있고 AKka는 내장된 스택을 쓴다(서드 파티가 필요 없으니 공부를 Akka만 하면 된다. -_-b). 이 점들 때문에 Akka를 생각하게 된 계기다. ( 사실 이외에도 스칼라를 적극 지향하는 한다는 점에서 AKka에 손을 들었다. 이 점은 별 이유 없다.. 걍 허세 -_-;;)


또한 결정적으로 공부를 시작하려 했던 이유 중 하나로 익셉션(장애) 처리에 대해서 Akka가 좀 더 유연함을 보였다는 인상이 강했다.

(http://glqdlt.tistory.com/admin/entry/post/?id=357&returnURL=http://glqdlt.tistory.com/357)


앞으로 시간이 나는 데로 이제 Akka와 스칼라를 다루어 볼 생각이다.

어쩌다보니 이것저것 하는 거 같지만

근간을 이루는 것은 어느것이나 같다 보니 좋은 경험이 되리라 봅니다.


'Tech > Lang' 카테고리의 다른 글

SBT on eclipse for scala  (0) 2017.05.29
vmware disk 100%  (0) 2017.05.23
스칼라를 공부하면서 느끼는 스칼라란  (0) 2017.05.14
PlayForScala -1  (0) 2017.03.19
PlayForScala -0  (0) 2017.03.07