맛만 보자 Finagle이란? 
Jeff Lee
변해가는 주변 환경 
멀티코어 
CPU 클럭 상승의 한계 
분산환경 
ScaleUp의 한계 
클라우드 컴퓨팅 활성화
현재 최선의 방법
Actor Model 
다른 액터에 한정된 개수의 메세지를 보낼 수 있다. 
유한한 개수의 액터를 만들어 낼 수 있다. 
다른 액터가 받을 메세지에 수반될 행동(behavior)을 지정 할 수 
있다. 
이런 일들이 동시적으로 진행되는데 있어 미리 정해진 순서는 없 
다. 
- 칼 휴이트(1973)
Actor Model 
현실에 액터(사람)를 상상하면 이해하기 편하다. 
- 사람은 생각을 공유 못하고 전자우편으로 소통한다. 
- 액터는 이름, 행동, 의사소통으로 구성 
Message passing 
No shared memory
Actor Model
Twitter Finagle 
Finagle[finéigl] - 피네이글 
extensible asynchronous (reactive) RPC for the JVM 
uniform client and server APIs for several protocols 
high performance and concurrency 
written in Scala
Multiple protocols 
HTTP 
Memcached 
Redis 
Protobuf 
Thrift 
MySQL 
mDNS...
Twitter Finagle - 서비스 구조
Apache Thrift 
framework, for scalable cross-language services 
development 
code generation engine 
C++, Java, Python, PHP, Ruby, Erlang,Perl, Haskell, C#, 
Cocoa, JavaScript, Node.js, Smalltalk, OCaml,Delphi … 
Developed by Facebook, opensourced in April 2007
ping.thrift
scala server
scala server
scala client
scala client
참고자료. 
Finagle GitHub 
https://github.com/twitter/finagle 
Finagle Guide 
http://twitter.github.io/finagle/guide/index.html 
Scala School - 피네이글(Finagle) 소개 
https://twitter.github.io/scala_school/ko/finagle.html 
SOA with Thrift and Finagle 
http://www.slideshare.net/bancek/soa-with-thrift-and-finagle

맛만 보자 Finagle이란

  • 1.
  • 2.
    변해가는 주변 환경 멀티코어 CPU 클럭 상승의 한계 분산환경 ScaleUp의 한계 클라우드 컴퓨팅 활성화
  • 3.
  • 4.
    Actor Model 다른액터에 한정된 개수의 메세지를 보낼 수 있다. 유한한 개수의 액터를 만들어 낼 수 있다. 다른 액터가 받을 메세지에 수반될 행동(behavior)을 지정 할 수 있다. 이런 일들이 동시적으로 진행되는데 있어 미리 정해진 순서는 없 다. - 칼 휴이트(1973)
  • 5.
    Actor Model 현실에액터(사람)를 상상하면 이해하기 편하다. - 사람은 생각을 공유 못하고 전자우편으로 소통한다. - 액터는 이름, 행동, 의사소통으로 구성 Message passing No shared memory
  • 6.
  • 7.
    Twitter Finagle Finagle[finéigl]- 피네이글 extensible asynchronous (reactive) RPC for the JVM uniform client and server APIs for several protocols high performance and concurrency written in Scala
  • 8.
    Multiple protocols HTTP Memcached Redis Protobuf Thrift MySQL mDNS...
  • 9.
    Twitter Finagle -서비스 구조
  • 10.
    Apache Thrift framework,for scalable cross-language services development code generation engine C++, Java, Python, PHP, Ruby, Erlang,Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml,Delphi … Developed by Facebook, opensourced in April 2007
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    참고자료. Finagle GitHub https://github.com/twitter/finagle Finagle Guide http://twitter.github.io/finagle/guide/index.html Scala School - 피네이글(Finagle) 소개 https://twitter.github.io/scala_school/ko/finagle.html SOA with Thrift and Finagle http://www.slideshare.net/bancek/soa-with-thrift-and-finagle