나프다 웨비너 1604: elixir와 함수형 프로그래밍을 이용한 웹 개발
TRANSCRIPT
![Page 1: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/1.jpg)
Elixir 그리고 MSA
![Page 2: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/2.jpg)
MSA?
![Page 3: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/3.jpg)
http://www.slideshare.net/andrewdohyunjung/msa-43702981
![Page 4: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/4.jpg)
http://www.slideshare.net/andrewdohyunjung/msa-43702981
![Page 5: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/5.jpg)
http://www.slideshare.net/andrewdohyunjung/msa-43702981
![Page 6: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/6.jpg)
![Page 7: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/7.jpg)
Elixir 와 MSA 가 무슨 연관이 ?
![Page 8: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/8.jpg)
Erlang
Elixir
![Page 9: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/9.jpg)
사실 MSA 에 묻어가려고…
![Page 10: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/10.jpg)
MSA 개발 / 운영 시에 있으면 좋을꺼 같은것들 ( 매우 주관적 )
![Page 11: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/11.jpg)
• 서비스들이 죽지 않았으면 좋겠다 .• 운영중에 패치가 편했으면 좋겠다 .• 클러스터링 가능 했으면 좋겠다 .• 서비스들간의 통신이 편했으면 좋겠다 .
![Page 12: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/12.jpg)
• 서비스들이 죽지 않았으면 좋겠다 . Supervisor• 운영중에 패치가 편했으면 좋겠다 . Hot Code Swapping• 클러스터링 가능 했으면 좋겠다 . Cluster• 서비스들간의 통신이 편했으면 좋겠다 . MessagePassing/RPC
ErlangElixir
![Page 13: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/13.jpg)
![Page 14: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/14.jpg)
Erlang/Elixir
![Page 15: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/15.jpg)
1986: 에릭슨사 개발
1998: 오픈소스화
2016: Erlang/OTP18.3
![Page 16: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/16.jpg)
Erlang
• 함수형 언어 .• 불변 변수 (Immutable variables)• 강타입 , 동적 타입 자료형 체계 (strong, dynamic typing)• 병행성 (Concurrency) 모델중 Actor model.
![Page 19: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/19.jpg)
http://stackoverflow.com/questions/1636455/where-is-erlang-used-and-why/1637137#1637137
![Page 20: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/20.jpg)
2012: José Valim 개발
2016: Elixir 1.2
![Page 21: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/21.jpg)
Elixir• Erlang 의 특징을 계승 .• Elixir 컴파일러가 BEAM(Erlang VM) 용 바이트코트로 컴파일 .• 도큐먼트 제공• 툴 제공 (ExUnit, iex, Mix)• 페키지 관리 (Hex packages)
![Page 22: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/22.jpg)
![Page 24: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/24.jpg)
http://www.slideshare.net/gabriele.lana/the-magic-of-elixir
![Page 25: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/25.jpg)
–Joe Armstrong
“Erlang was designed for writing concurrent programs that run forever”
![Page 26: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/26.jpg)
Concurrency modelErlang/Elixir Actor model
Node.js Single thread, Event driven
Go CSP
![Page 27: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/27.jpg)
Actor = Process + Data + Code
![Page 28: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/28.jpg)
http://www.slideshare.net/christophevg/actors-la-akka
![Page 29: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/29.jpg)
![Page 30: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/30.jpg)
Actor Actor Actor
Actor Actor Actor
data data
datadata
data
Input
Output
![Page 31: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/31.jpg)
http://www.slideshare.net/eonblast/why-erlang-gdc-online-2012
![Page 32: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/32.jpg)
http://www.slideshare.net/eonblast/why-erlang-gdc-online-2012
![Page 33: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/33.jpg)
Lightweight process
ProcessMail box
Heap
Stack
Garbage Collector
![Page 34: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/34.jpg)
Message passing
P2Receiver
P1SenderMail box Mail box
message
message
![Page 35: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/35.jpg)
Message passing
P2Mail boxmessage
P2
메시지 수신
메시지 라우팅
메시지 처리
메시지 응답
![Page 36: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/36.jpg)
Message passingP2
메시지 수신
메시지 라우팅
메시지 처리
메시지 응답
![Page 37: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/37.jpg)
Message passingP2
메시지 수신
메시지 라우팅
메시지 처리
메시지 응답
![Page 38: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/38.jpg)
Message passingP2
메시지 수신
메시지 라우팅
메시지 처리
메시지 응답
![Page 39: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/39.jpg)
Message passingP2
메시지 수신
메시지 라우팅
메시지 처리
메시지 응답
P3
메시지 수신
메시지 라우팅
메시지 처리
메시지 응답
PN
메시지 수신
메시지 라우팅
메시지 처리
메시지 응답
…
![Page 40: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/40.jpg)
![Page 41: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/41.jpg)
– erlang.org
“OTP (Open Telecom Platform) is a large collection of libraries for Erlang to do everything from compiling
ASN.1 to providing a WWW server. Most projects using "Erlang" are actually using "Erlang/OTP", i.e. the
language and the libraries. OTP is also open source.”
![Page 42: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/42.jpg)
OTP Behaviours
• GenServer• GenEvent• GenFSM• Supervisor
![Page 43: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/43.jpg)
GenServer
![Page 44: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/44.jpg)
Server
Client
Client
requestresponse
request
![Page 45: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/45.jpg)
기본 프로세스 GenServer 프로세스
![Page 46: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/46.jpg)
GenEvent
![Page 47: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/47.jpg)
EventManager
Client Client Client
event
![Page 48: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/48.jpg)
GenFSM
![Page 49: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/49.jpg)
http://knewter.github.io/erlang_dc_workshop/deck/otp_with_elixir/finite_state_machines/slides/#/2
![Page 50: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/50.jpg)
MSA 와 Elixir
![Page 51: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/51.jpg)
• 서비스들이 죽지 않았으면 좋겠다 . Supervisor• 운영중에 패치가 편했으면 좋겠다 . Hot Code Swapping• 클러스터링 가능 했으면 좋겠다 . Cluster• 서비스들간의 통신이 편했으면 좋겠다 . MessagePassing/RPC
ErlangElixir
![Page 52: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/52.jpg)
Supervisor
![Page 53: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/53.jpg)
Supervisor
ProcessProcess Process
![Page 54: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/54.jpg)
Supervisor
ProcessProcess Process
![Page 55: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/55.jpg)
Supervisor
ProcessProcess ProcessProcess
![Page 56: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/56.jpg)
![Page 57: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/57.jpg)
![Page 58: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/58.jpg)
Supervisor
ProcessProcess Process
one_for_one
![Page 59: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/59.jpg)
Supervisor
ProcessProcess Process
one_for_one
![Page 60: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/60.jpg)
Supervisor
ProcessProcess Process
one_for_one
Process
![Page 61: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/61.jpg)
Supervisor
ProcessProcess Process
one_for_all
![Page 62: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/62.jpg)
Supervisor
ProcessProcess Process
one_for_all
![Page 63: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/63.jpg)
Supervisor
ProcessProcess Process
one_for_all
Process Process Process
![Page 64: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/64.jpg)
Supervisor
ProcessProcess Process
reset_for_all
![Page 65: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/65.jpg)
Supervisor
ProcessProcess Process
reset_for_all
![Page 66: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/66.jpg)
Supervisor
ProcessProcess Process
reset_for_all
Process Process
![Page 67: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/67.jpg)
Supervisor
ProcessProcess Supervisor
ProcessProcess Process
![Page 68: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/68.jpg)
Hot code swapping
![Page 69: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/69.jpg)
![Page 70: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/70.jpg)
![Page 71: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/71.jpg)
![Page 72: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/72.jpg)
![Page 73: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/73.jpg)
![Page 74: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/74.jpg)
![Page 75: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/75.jpg)
![Page 76: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/76.jpg)
ActorCode Data
Process
![Page 77: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/77.jpg)
ActorCode Data
Process
New Code
![Page 78: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/78.jpg)
ActorData
Process
New Code
![Page 79: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/79.jpg)
Cluster
![Page 80: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/80.jpg)
EndPoint
Payment Cart
Service
![Page 81: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/81.jpg)
![Page 82: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/82.jpg)
EndPoint
Payment Cart
Service
EndPoint
Payment Cart
Service
Proxy
![Page 83: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/83.jpg)
Service
EndPoint
Payment Cart
특정 기능에만 부하가 집중된다면
![Page 84: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/84.jpg)
ServiceService
EndPoint
Payment Cart
EndPoint
Payment Cart
Proxy
![Page 85: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/85.jpg)
Node#2Node#1
EndPoint
Payment Cart Cart
Cart
![Page 86: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/86.jpg)
EndPoint
EndPoint
EndPoint …
Cart Cart Payment …
DMZEndpoint
Business
Client
![Page 87: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/87.jpg)
Node
Node Node
Node
$ Node.connect(nodename)
![Page 88: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/88.jpg)
Service/Node 간 통신
![Page 89: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/89.jpg)
SystemSystem
Node Node
Node Node
![Page 90: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/90.jpg)
SystemSystem
![Page 91: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/91.jpg)
SystemSystem
pid
![Page 92: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/92.jpg)
사실 Thrift 씁니다 ..
![Page 93: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/93.jpg)
Elixir 에 관심이 생기셨다면 ..
![Page 94: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/94.jpg)
http://elixir-lang.org
![Page 95: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/95.jpg)
![Page 96: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/96.jpg)
https://www.facebook.com/groups/elixir.korea/
![Page 97: 나프다 웨비너 1604: Elixir와 함수형 프로그래밍을 이용한 웹 개발](https://reader038.vdocuments.net/reader038/viewer/2022102704/587002901a28ab427f8b5463/html5/thumbnails/97.jpg)
감사합니다 .