- Why Akka?
1) What features can the Akka platform offer, over the competition?
Akka는 확장할 수 있는 실시간 transaction processing을 제공한다.
Akka는 다음 사항에 대한 통일된 runtime과 프로그래밍 모델을 제공한다.
- Scale up (Concurrency)
- Scale out (Remoting)
- Fault tolerance : 장애 방지
높은 응집력과 일관성 있는 의미의 관리를 위해 한가지 알아야 할 점이 있다.
Akka는 성능 측면 뿐만 아니라 application의 크기에도 유용한 굉장히 확장성 있는 소프트웨어의 한 조각이다. Akka의 core인 akka-actor는 아주 작아서 귀찮음을 피해서 비동기 처리와 lock이 없는 동시처리가 필요한 이미 존재하는 프로젝트에 쉽게 추가할 수 있다.
때로는 필요에 따라 application에 akka의 일부분만 추가할 수도 있다. CPU가 증가할수록 더 많은 core를 처리할 수 있다. Akka는 하나의 machine에서 구동하더라도 탁월한 성능을 제공하기 위한 대안이 될 수 있다. Akka는 또한 사용자가 작업을 위한 올바른 툴을 선택하도록 다수의 동시처리 패러다임을 제공한다.
2) What's a good use-case for Akka?
Akka는 다양한 산업 분야의 많은 거대한 조직에서 채택되었다.
- 상업투자은행
- Retail : 소매
- Social Media
- Simulation
- 게임 및 도박
- 자동차 및 교통 시스템
- Health Care
- Data Analytics
기타 등등. High-Throughput (대용량 처리)와 low latency가 필요한 어떤 시스템이라도 Akka를 사용하는 것이 좋은 후보가 될 수 있다.
Actor는 서비스의 실패(Supervisor : 관리자), load management (부하 관리 : back-off strategies, timeouts, and processing-isolation)을 관리하게 한다. 또한 수평적, 수직적 확장성을 모두 보장한다. (core를 추가하거나 machine을 추가한다.)
Akka를 어떻게 사용하여 무엇을 했는지에 대해서는 다음에 정리되어 있다.
http://stackoverflow.com/questions/4493001/good-use-case-for-akka
이 모든 것은 Apache Version 2 라이선스를 가지는 오픈 소스 프로젝트이다.
댓글을 달아 주세요
댓글 RSS 주소 : http://www.yongbi.net/rss/comment/738