์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
์ค์จ๋ด์ ์๋ฆญ์จ์์ ๊ฐ๋ฐํ ํจ์ํ ๋ณํ์ฑ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด. ์ค์จ๋ด ๋ณธํ ๋ฐ์์ผ๋ก ํ๋ฉด ์์ด๋์ด๋ค. ์ผ๋ญ, ์์ด๋ญ, ์๋ญ, ์๋ ๋ฑ ์ ์ธ๊ณ ์ฌ๋๋ค์ด ์๊ธฐ๋ค ์ํ๋ฒณ ๋ฐ์ ์คํ์ผ์ ๋ฐ๋ผ์ ๋ค์ํ๊ฒ ๋ฐ์ํ๋ค. ์ด๋ฅผ ์ ๊ฒฝ์ฐ๋ ์ฌ๋์ ์๋ฌด๋ ์์ผ๋ ์์ฌํด๋ ๋๋ค.[1] ์ค๋๋ ๊ฐ์ฅ ๋๋ฆฌ์ฐ์ด๋ ๋ณํ์ฑ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค.
2. ์ญ์ฌ[ํธ์ง]
1986๋
ํต์ ์ฅ๋น๋ฅผ ๋ง๋๋ ์๋ฆญ์จ์ฌ์์ ๊ตํ๊ธฐ ๋ฐ ๋๊ท๋ชจ ๋คํธ์ํฌ ์ค๋น๋ฅผ ์ํ ์ธ์ด๋ก ๊ฐ๋ฐํ์๋ค. ๊ทธ ์ด์ ๊ฐ AT&T ์ฐ๊ตฌ์์์ UNIX์ C์ธ์ด๋ฅผ ๊ฐ๋ฐ ํ ๋์ข
์
๊ณ์ ์ฌ์ฉ์ ์ ์ฝ์ ๊ฑธ์๊ธฐ ๋๋ฌธ์ด๋ค. ์กฐ ์์คํธ๋กฑ ์ฐ๊ตฌ์์ ์ฃผ๋ ํ์ ์งํ๋์๊ณ , ํจ์ํ ์ธ์ด ๋์์ธ์ ์ ํํ ๊ฒ์ ์ ๋ขฐ์ฑ๊ณผ ์์ ์ฑ์ ํ๋ณด์ ๋ง์ ๋์์ด ๋์๋ค. ๋ค๋ฅธ ํจ์ํ ์ธ์ด๋ค๊ณผ ๋ฌ๋ฆฌ, ์์ ๋จ๊ณ๋ถํฐ ๊ธฐ์
์ ์๊ฒฉํ ๋ฆด๋ฆฌ์ฆ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋์ ํต๊ณผํด์ผ ํ๋ Erlang์ ๊ฐ๋ฐ์ ๊ณ ๋์ ์ฐ์์ด์๋ค. ๊ฐ๋ น, ๋ณํ ํ๋ก์ธ์ค ์ฒ๋ฆฌ ๋ฐ ๋ฉํฐ ์ฝ์ด ์ฒ๋ฆฌ๋ ์ฒ์๋ถํฐ ๊ณํ๋ ๊ฒ์ด ์๋์๋ค. ์๋๊ฐ ๋๋ ค์ ๊ฒ์ฆ ์์คํ
์ ํต๊ณผํ์ง ๋ชปํ์ ๋น์๋ก์๋ ์ด๋ป๊ฒ๋ ์ฅ์ด ์ง๋ด์ด ์ ํํ ๊ฒฐ๊ณผ์ผ ๋ฟ์ด๋ค. ์ง๊ธ์ Erlang์ ๋ํ์ ์ธ ํน์ง์ด ๋์๋ค. ํ์ฌ์ ๊ฐ์ ๋ชจ์ต์ ๊ฐ์ง๊ธฐ ์ํด์๋ ๊ฑฐ์ณ๊ฐ ๊ณผ์ ์ HOPLํํ์ History of erlang์ ์์ธํ ๊ธฐ๋ก๋์ด ์๋ค. ๋๋ฌผ ์์ธ ๋ณผ ์ ์๋ค. ์์ฝํ๋ฉด ์ ์ฐจํ ์ธ์ด๋ค์ด ์๋ํ๋ ์ต์ ํ๋ฅผ ์๋ํ๋ ๋์ , ๋์์ฑ ์ ์ด๋ฅผ ์ด์ฉํ์ฌ ํจ์จ์ฑ์ ์ฌ๋ฆฐ๋ค๋ ์ ๊ทผ๋ค์ ์ฐ์์ด๋ค. ๋น์ ๊ฒ์ฆ์ ํต๊ณผํ๊ธฐ ์ํด ์ ์ฉํด์ผ ํ๋ ์ด๋ฌํ ์๋๋ค์ Erlang ์ฌ์ฉ ๋ชฉ์ ๊ณผ ์ฅ๋จ์ ์ด ๋งค์ฐ ๋๋ ทํ ์ธ์ด๋ก์ ๋ง๋ค์ด ์ฃผ์๊ณ , ์ด ๋ถ๋ถ์ ๋ฒ์ฉ์ธ์ด๋ก์์ Erlang์ ํ๊ณ๋ผ ํ ์ ์๋ค. ๊ฐ๋ฐ ์๋ฃ ์งํ ์ค์ ์๋์์ "nine nines" ์ฆ, 99.9999999%์ ์๋์จ์ด๋ผ๋ ๊ฒฝ์ด์ ์ธ ์์ค์ ์์ ์ ์ธ ์ด์์ ๊ธฐ๋กํ๊ฒ ๋๋ค. ๊ณ์ฐํด๋ณด๋ฉด 24์๊ฐ ์๋น์ค๋ฅผ 30๋
๋์ ์ด์ํ์ ๋ ์๋น์ค๊ฐ ๋ฉ์ถ ์๊ฐ(downtime)์ด ์ด 1์ด ๋ฏธ๋ง์ด๋ผ๋ ๋ป์ด ๋๋ค! ํ ์ค์ Erlang ์ฝ๋๋ ์ฌ๋ฌ ์ค์ C ์ฝ๋์ ๊ฐ์ ๊ฐ์น๋ฅผ ๊ฐ์ง ๊ฒ์ผ๋ก ํ๊ฐ๋์๋ค.[2]
๊ทธ๋ฐ๋ฐ Erlang์ด ์๋ฆญ์จ์์ ์๋ฆฌ์ก์ ์ฆ์ ๊ฐ๋ฐ์๋ค์ด ์งค๋ ธ๋ค. ์๋ฆญ์จ์ด ํ์ฐธ ์ฝ์ ํธ๋ ์์ ์ ํจ์จ์ฑ์ ์ถ๊ตฌํ๋ค๊ณ "์คํ์์ค ๋น์ฆ๋์ค๋ก ์์์ ๋จน๊ณ ์ฌ์ธ์."ํ๊ณ ๋ด๋ณด๋ด ๋ฒ๋ฆฐ ๊ฒ์ด๋ค. ๋น์ ๊ธฐ๋ก์ ๋ณด๋ฉด ์ ์ ์์ง๋ง ์๋ฆญ์จ์ ๊ฒฝ์์ง์ ๋ณดํต์ ๋ง์ฅ ๊ฒฝ์์ง๋ค์ด ๊ทธ๋ ๋ฏ ์ฅ๋ถ์์ ์ด์ต์ ์ํด ๊ผฌํฌ๋ฆฌ ์ก์๋งํ ๋ถ๋ถ์ด ์๋ ์ฌ์๋ค์ ๊ทธ๋ฅ ๋ค ํด๊ณ ํ๋ค.[3]์ญ์ IT๊ธฐ์
์์๋ ๊ฒฝ์ํ ๋ฐฐ์ด ๋๋ค์ด ๋ฌธ์ ๋ฌผ๋ก ์๋ฆญ์จ๊ฐ์ ๊ธฐ์ ๊ธฐ์
์ด ๊ธฐ์ ์ ์์ด ๋์๊ฐ๋๊ฑด ๋ง๋ ์๋๋ฏ๋ก ๋ค์ CEO๋ ์ด๋ค์ ๋ค์ ํ์ฌ๋ก ๋ชจ์์ผ ํ๋ค(โฆ)
์ผ๋ญ์ ์ค๋๋ ๋ณํ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ด ์๊ตฌ๋๋ ๋ง์ ๋ถ์ผ์ ํ์ฉ๋๊ณ ์๋ค. Erlang VM ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋์จ์ด์ ํต์ ์ฅ๋น์ ๋ฐ์ ์ ๋ฐ๋ผ ๊พธ์คํ ์ ๋ฐ์ดํธ๋๊ณ ์๋ค.
๊ทธ๋ฐ๋ฐ Erlang์ด ์๋ฆญ์จ์์ ์๋ฆฌ์ก์ ์ฆ์ ๊ฐ๋ฐ์๋ค์ด ์งค๋ ธ๋ค. ์๋ฆญ์จ์ด ํ์ฐธ ์ฝ์ ํธ๋ ์์ ์ ํจ์จ์ฑ์ ์ถ๊ตฌํ๋ค๊ณ "์คํ์์ค ๋น์ฆ๋์ค๋ก ์์์ ๋จน๊ณ ์ฌ์ธ์."ํ๊ณ ๋ด๋ณด๋ด ๋ฒ๋ฆฐ ๊ฒ์ด๋ค. ๋น์ ๊ธฐ๋ก์ ๋ณด๋ฉด ์ ์ ์์ง๋ง ์๋ฆญ์จ์ ๊ฒฝ์์ง์ ๋ณดํต์ ๋ง์ฅ ๊ฒฝ์์ง๋ค์ด ๊ทธ๋ ๋ฏ ์ฅ๋ถ์์ ์ด์ต์ ์ํด ๊ผฌํฌ๋ฆฌ ์ก์๋งํ ๋ถ๋ถ์ด ์๋ ์ฌ์๋ค์ ๊ทธ๋ฅ ๋ค ํด๊ณ ํ๋ค.[3]
์ผ๋ญ์ ์ค๋๋ ๋ณํ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ด ์๊ตฌ๋๋ ๋ง์ ๋ถ์ผ์ ํ์ฉ๋๊ณ ์๋ค. Erlang VM ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋์จ์ด์ ํต์ ์ฅ๋น์ ๋ฐ์ ์ ๋ฐ๋ผ ๊พธ์คํ ์ ๋ฐ์ดํธ๋๊ณ ์๋ค.
3. ํน์ง[ํธ์ง]
3.1. ๋ณํ์ฑ[ํธ์ง]
๋ณํ์ฑ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ Erlang์ ๊ฐ๋ฒผ์ด ํ๋ก์ธ์ค๋ฅผ ์์ฃผ ๋น ๋ฅด๊ฒ ์์ฑํ๋ค. ๊ฐ๊ฐ์ ํ๋ก์ธ์ค๋ค์ ๋ฉ์์ง ํจ์ฑ์ ์ํด ์์
์ ์ง์๋ฐ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ฉฐ ETS, DETS ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ์ธํ๋ฉด ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ํ ์๋๋ก ์ค๊ณ๋์ด ์๋ค. ์ด๋ ์ธ๋ป๋ณด๊ธฐ์ MPI(Message Passing Interface)์ ์ ์ฌํ์ง๋ง, MPI๊ฐ ํ๋์ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋๋ฐ ์๋นํ ๋น์ฉ์ด ๋๋ ๊ฒ๊ณผ ๋ค๋ฅด๊ฒ Erlang์ ํ๋ก์ธ์ค๋ ํ๋ฒํ PC์์๋ ์์ญ๋ง๊ฐ์ ํ๋ก์ธ์ค๋ฅผ ์๋ฌด ๋ฌธ์ ์์ด ์ค์๊ฐ์ผ๋ก ์์ฑํ๊ณ , ์คํํ๊ณ , ์ง์ธ ์ ์๋ค. ๋ํ ์๋ก ๋ค๋ฅธ ์ปดํจํฐ๋ผ ํ์ฌ๋ ํต์ ๋ง์ ํตํด ์๊ฒฉ์์ ํ๋ก์ธ์ค๊ฐ ์ ์ด๋ ์ ์์ผ๋ฏ๋ก ๋๋์ ํ๋์จ์ด๋ฅผ ๋ฌถ๋ ๋ฐ ์ ๋ฆฌํ๋ค.
3.2. ํจํด ๋งค์นญ[ํธ์ง]
ํจํด๋งค์นญ์ด๋ผ๊ณ ํ๋ฉด ๋ณดํต์ ํจ์ํ ์ธ์ด๋ค์์ ๊ฐ์ง๊ณ ์๋ ํน์ง์ด๊ธด ํ๋ฐ, Erlang์ ํจํด๋งค์นญ์ Prolog์ ๊ฒ์ ํจ์ํ ๋ฌธ๋ฒ์ผ๋ก ๊ณ ์น ๊ฒ์ด๋ผ์ ํต์์ ์ธ ํจ์ํ ์ธ์ด๋ค ๋ณด๋ค๋ ์ ์ฐํ๋ค๋ ํน์ง์ด ์๋ค. ๋ฐ๋ผ์ ํน์ ํ ์๋ฃ์ ํํ๋ฅผ ์ ์ธํ๊ฑฐ๋ ์ฝ์ด๋ค์ด๋ ์์
์ด ์์ฃผ ํธ๋ฆฌํ๋ค. ํนํ ๋ด๋ถ ๋ฐ์ดํฐ ํ์
์ด ์๋ ๋จ์ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ํจํด๋งค์นญํ๋ ๊ธฐ๋ฅ์ด ์์ด ํ๋กํ ์ฝ ๊ฐ๋ฐ์ ๋งค์ฐ ์ ์ฉํ๋ค.
3.3. ๊ฐ๋ ฅํ ๋ด์ฅ ๊ธฐ๋ฅ[ํธ์ง]
Erlang์ ํต์ ์ธํ๋ผ๋ฅผ ์ํ ์ธ์ด์ธ ๋งํผ Erlang ์์ฒด๋ง์ผ๋ก ํต์ ๋ง์์ ์๊ตฌ๋๋ ๋ชจ๋ ๊ธฐ๋ฅ๋ค์ ์ํ ํ ์ ์๋๋ก ๋ค์ํ ๋ด์ฅ ๊ธฐ๋ฅ๋ค์ ํฌํจํ๊ณ ์๋ค. ๋ํ์ ์ธ ๊ฒ์ด ๋ฉ๋ชจ๋ฆฌ Key Value ์ ์ฅ์์ธ ETS[4], ETS์ ๋์คํฌ ์ ์ฅ์์ธ DETS, ํธ๋์ ์
์ด ์ง์๋๋ DBMS์ธ Mnesia[5], ์๋ฆญ์จ์ ์ธํ๋ผ ํ๋ซํผ์ธ OTP[6] ๋ฑ์ด ์์ผ๋ฉฐ, ๋ชจ๋ ์ธํ๋ผ ๊ตฌ์ถ์ฉ์ผ๋ก ๊ฒ์ฆ๋์ด์์ด ์ ๋ขฐ์ฑ์ด๋ ์ฑ๋ฅ ๋ฉด์์ ๋์ ์์ค์ ์๋ํ๋ค.
3.4. ์ฅ์ ํ์ฉ[ํธ์ง]
๋ณธ๋ ์ธํ๋ผ ๊ตฌ์ถ์ ์ํ ์ธ์ด์๊ธฐ ๋๋ฌธ์ ์ฅ์ ํ์ฉ ๊ตฌ์กฐ๋ฅผ ๋ด์ฅํ๊ณ ์๋ค๋ ๊ฒ๋ ํน์ง์ด๋ค. ์์ด๋์ด ์์ฒด๋ ์์ฃผ ๋จ์ํด์ ๋ณํ ํ๋ก์ธ์ค ๊ฐ์ด๋ฐ ์ผ๋ถ๋ฅผ ๊ฐ์์๋ก ์ฌ์ฉํด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ํ๋ก์ธ์ค๋ฅผ ๊นจ๋ํ๊ฒ ์ ๋ฆฌํ๊ณ ์ฌ์์ ์ํจ๋ค๋ ๊ฒ์ด๋ค. ์ด๋ ํ๋ก์ธ์ค๋ ์์ฃผ ์์ ์์
๋จ์๋ค์ด๋ผ์ ํ๋์ ํ๋ก์ธ์ค๊ฐ ์ ์ฒด ์๋์ ์ผ๋ถ์ ๋ถ๊ณผํ๋ฏ๋ก ๋ถ๋ถ์ ์ธ ์ฅ์ ๋ฅผ ๋ฌด์ํ๊ณ ์ ์ฒด ํ๋ก๊ทธ๋จ์ ๊ณ์ ์ด์์ ๋์๊ฐ๊ฒ ๋๋ค[7]. ๋ํ ํ๋ก์ธ์ค๋ ๊ฐ์ ์๊ธฐ๋ง์ ํ๊ณผ ์คํ์ ํ ๋น๋ฐ์์ ์๋ํ๊ธฐ ๋๋ฌธ์ ํ ํ๋ก์ธ์ค์์ ๋ฐ์ํ ์ค๋ฅ๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํฅ์ ์ค ์ ์๋ค. ๊ทธ๋์ Java๊ฐ "write once, run everywhere"๋ผ๋ฉด Erlang์ "write once, run forever"๊ฐ ํน์ง์ด๋ผ๊ณ ๋งํ๊ธฐ๋ ํ๋ค. ์ค์ Erlang์ผ๋ก ์์ฑ๋ ํต์ ์ฅ๋น ์ํํธ์จ์ด๋ ๊ฐ์ฉ์ฑ 99.9999999%๋ฅผ ์ฐ๊ธฐ๋ ํ๋ค.
4. ์ฑ๋ฅ[ํธ์ง]
์ธํฐ๋ท ์์ ๋์๋ค๋๋ Erlang์ ์ฑ๋ฅ๊ณผ ๊ด๋ จ๋ ๋ฒค์น๋งํฌ๋ค์ ๋ณด๋ฉด ํจ์ vs ํจ์ ๊ธฐ๋ฐ์์๋ ์ฐ์ฐ ์๋๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ๋ฑ์ด ์๋นํ ํํธ์๊ฒ ๋์ค๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ฌ๊ธฐ์๋ ๋๋ฆ๋๋ก์ ์ด์ ๊ฐ ์๋ค. ์ผ๋จ Erlang์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์์ฑ ์ ์ด๋ฅผ ์ํ ์ธ์ด๋ค. ํจ์ ํ๋๋ฅผ ๊ฐ์ง๊ณ ๋น๊ตํ๋ฉด ๋๋ฆด ์ ๋ฐ์ ์๋ค. ๊ทธ ๋์ Erlang์ ์ค์ผ์ค๋ฌ๋ฅผ ๋ฏธ์น๋ฏ์ด ์ต์ ํ ํ๊ณ ์๋ค. ๊ทธ ๋๋ถ์ ๋์์ฑ ์ ์ด๋ ์๋ง ๋จ์๋ฅผ ๊ฐ๋ณ๊ฒ ์ฌ๊ธฐ๋ฉฐ, SMP ์๋ ์ดํ์๋ ์๋ฐฑ๋ง ๋จ์๋ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ๋ค. ์ผ๋ญ ์คํ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํด์, ์ฌ๋ฌ๊ฐ์ process๋ก ์ฐ์ฐ์ ์ชผ๊ฐ์ MapReduce ์ฒ๋ผ ๋ง๋ค๋ฉด ๊ฒฐ๊ณผ์ ์ผ๋ก C๋ณด๋ค๋ ๋น ๋ฅธ ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค. ๋ํ Erlang์ ํต์ ์ฅ๋น์ฉ ์ธ์ด๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ผ๋ ๊ฒ๋ณด๋ค ์ค์๊ฐ์ฑ์ ์ ์ง๋ฅผ ์ค์ํ๊ฒ ์ฌ๊ธด๋ค. ๊ทธ๋์ ๋๋ ค์ผ ํ๋ ์์
์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ํ์๋ก ํ๋ค๊ณ ํ๋จ๋๋ฉด ๊ทธ ์ฆ์ ๋น์ทํ ์์
์ด ๋ ๋ค์ด์๋ ์ค์๊ฐ ์ฒ๋ฆฌ๋ฅ๋ ฅ์ ์ ์งํ ์ ์๋๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ํ๊ฒ ํผ๋จน์ด ๋๋ค. ์ ์ด์ ํต์ ์ฅ๋น๋ ํ๋์จ์ด ๊ฐ์ฉ ๋ฉ๋ชจ๋ฆฌ ์ ๋ถ๊ฐ ํต์ ์ ํ๋ฆฌ์ผ์ด์
์ฉ์ผ๋ก ๋ถ์ด์๊ธฐ ๋๋ฌธ์ ์๋ ํ์๊ฐ ์๋ค. ๋ฌผ๋ก ๊ทธ๋ ๋ค๊ณ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ์ด ๋์๊ฑด ์๋๋ค. ์ค ์์
์ผ๋ก ๋ด๋ ค๊ฐ๋ณด๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์์ฒด๋ ๋๋จํ ํจ์จ์ ์ด๋ค.
5. ๊ธฐํ[ํธ์ง]
๋๋ค์์ ์ฌ๋๋ค์๊ฒ ์์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ง๋ง, ๋ณํ์ฑ ๋ถ์ผ์์๋ ์ฃผ๋ฅ์ธ์ด์ ์ํ๋ค. CouchDB, SimpleDB, Riak ๋ฑ NoSQL DB์์ ๋งต๋ฆฌ๋์ค์ ๊ตฌํ ํน์ DBMS์ ์ ์ฒด ๊ตฌํ์ ์ํด ๋ง์ด ์ฌ์ฉ๋๋ฉฐ, ์ฑํ
๊ณผ ๋ฉ์์ง, RabbitMQ, WhatsApp ์๋ฒ, ๊ธ์ต์์คํ
, ๊ฒ์ ์๋ฒ[8]์ ๊ฐ์ ๋ถ์ผ์ ์ด์ฉ๋๋ค. ์ด ์ค WhatsApp์ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์ ๋ช
ํ๋ฐ, 12์ฝ์ด(24 ๋
ผ๋ฆฌ์ฝ์ด) ํ๋ก์ธ์, 100GB ๋ฉ๋ชจ๋ฆฌ์ ํ๋์จ์ด๋ก ์ค ์๋น์ค์์ ์๋ฒ๋น 200๋ง๊ฑด ์ด์์ ์ฐ๊ฒฐ์ ๋ฐ์์๊ณ , ์ต๊ทผ์๋ ๊ฐ๋ณ ์๋ฒ์ ํ๋์จ์ด๋ฅผ ์ข๋ ์ค์ด๊ณ ๊ฐ๊ฐ 100๋ง๊ฐ ์ ๋์ ์ฐ๊ฒฐ์ ์์ฉํ๊ณ ์๋ค.[9] ๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค์ ๋ฉ์์ง ํจ์ฑ ๋์์ธ์ ๋ง์ ์ํฅ์ ์ฃผ๋ ์ธ์ด๊ธฐ๋ ํ๋ฐ, ๋ง์ Erlang๊ณผ ๋น์ทํ ๋ฉ์์ง ํจ์ฑ์ ๊ตฌํํ๋ค๋ ์ธ์ด์น๊ณ Erlang ๊ฐ์ด ๋ฉ์์ง ํจ์ฑ์ด ์ ํ์ฉ๋๋ ์ธ์ด๊ฐ ์๋ค.[10]
์ผ๋ญ์ ๊ฐ๋ฐํ ์๋ฆญ์จ์ ๊ฒฝ์ฐ SGSN-MME[11] ์ค๋น๋ฅผ ์ผ๋ญ์ผ๋ก ๊ฐ๋ฐํ๋ค. ์ธ๋๋ณ๋ก ๋ค๋ฅด๊ธด ํ์ง๋ง LTE์ ์ฌ์ฉ๋๋ MME์ ๊ฒฝ์ฐ ์๋ฆญ์จ ์ฅ๋น์ ์ธ๊ณ์์ฅ ์ ์ ์จ์ด 50%๋ฅผ ๋๋๋ค. ์์ ์ ์ผ๋ก ์๋นํ ํฌ๊ฒ ์ฑ๊ณตํ ๋๋ถ์ ์๋ฆญ์จ์์๋ ์ผ๋ญ์ ์ฅ๊ธฐ์ ์ธ ๊ฐ๋์ ๊ฝค ํฌ์๋ฅผ ํ๊ณ ์๋ค.
๋ค๋ฅธ ์ธ์ด๋ค ์ฒ๋ผ Erlang๋ ๋ฒ์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์๊ฐ๋๊ธฐ๋ ํ์ง๋ง ๋์์ธ๊ณผ ๊ธฐ๋ฅ์ ๋ณธ๋์ ๊ตํ๊ธฐ์ ์๊ตฌ๋์๋ ๋คํธ์ํฌ๋ฅผ ํตํ ๋ฐ์ดํฐ์ ์ค์๊ฐ ๋ณํ ์ฒ๋ฆฌ์ ๊ณ ๊ฐ์ฉ์ฑ์ ๋ชฐ๋นต๋์ด ์๋ค. ๋ค๋ฅธ ๋ถ๋ถ๋ค์ ์ด๋ ์์ค์ด๋ ํ๋ฉด ์ผ๋ญ์ ์ฝ์ด ๊ฐ๋ฐ์๊ฐ ์ปจํผ๋ฐ์ค์์ "์ฐ๋ฆฌ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ[12]๋ ์ฉ์์ ใ " ํ๊ณ ๋น์๋ ์์ค์ด๋ค. ์์ผ๋ก ๊ฐ๋ํ ์ฌ์ง๊ฐ ์๊ธด ํ๊ฒ ์ง๋ง ํ ์์ ์์๋ ๊ฐ ๊ธธ์ด ๋ฉ๋ค.
์ผ๋ญ์ ํ์ ์์คํ ์ ํจ์ํ ์ธ์ด์์๋ ๋น๊ต์ ๋น์ฃผ๋ฅ์ ์ํ๋ ๊ฐํ์ [13]์ ๋์ ํ์ ์ ๋ฐ๋ฅด๊ณ ์๋ค.
Erlang์ ์ํ ๊ฐ๋ฐ ํด๋ก๋ VS Code์ erlang ํ๋ฌ๊ทธ์ธ ๋ฑ์ด ์๋ค.
2019๋ 4์ 20์ผ Erlang์ ๊ฐ๋ฐ์ ์ค ํ ๋ช ์ธ ์กฐ ์์คํธ๋กฑ์ด ํ ์ฌ์ ์ฆ์ผ๋ก ์ธํ ๊ฐ์ผ์ผ๋ก ํ๊ณํ์๋ค. ํฅ๋ 68์ธ. #
์ผ๋ญ์ ๊ฐ๋ฐํ ์๋ฆญ์จ์ ๊ฒฝ์ฐ SGSN-MME[11] ์ค๋น๋ฅผ ์ผ๋ญ์ผ๋ก ๊ฐ๋ฐํ๋ค. ์ธ๋๋ณ๋ก ๋ค๋ฅด๊ธด ํ์ง๋ง LTE์ ์ฌ์ฉ๋๋ MME์ ๊ฒฝ์ฐ ์๋ฆญ์จ ์ฅ๋น์ ์ธ๊ณ์์ฅ ์ ์ ์จ์ด 50%๋ฅผ ๋๋๋ค. ์์ ์ ์ผ๋ก ์๋นํ ํฌ๊ฒ ์ฑ๊ณตํ ๋๋ถ์ ์๋ฆญ์จ์์๋ ์ผ๋ญ์ ์ฅ๊ธฐ์ ์ธ ๊ฐ๋์ ๊ฝค ํฌ์๋ฅผ ํ๊ณ ์๋ค.
๋ค๋ฅธ ์ธ์ด๋ค ์ฒ๋ผ Erlang๋ ๋ฒ์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์๊ฐ๋๊ธฐ๋ ํ์ง๋ง ๋์์ธ๊ณผ ๊ธฐ๋ฅ์ ๋ณธ๋์ ๊ตํ๊ธฐ์ ์๊ตฌ๋์๋ ๋คํธ์ํฌ๋ฅผ ํตํ ๋ฐ์ดํฐ์ ์ค์๊ฐ ๋ณํ ์ฒ๋ฆฌ์ ๊ณ ๊ฐ์ฉ์ฑ์ ๋ชฐ๋นต๋์ด ์๋ค. ๋ค๋ฅธ ๋ถ๋ถ๋ค์ ์ด๋ ์์ค์ด๋ ํ๋ฉด ์ผ๋ญ์ ์ฝ์ด ๊ฐ๋ฐ์๊ฐ ์ปจํผ๋ฐ์ค์์ "์ฐ๋ฆฌ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ[12]๋ ์ฉ์์ ใ " ํ๊ณ ๋น์๋ ์์ค์ด๋ค. ์์ผ๋ก ๊ฐ๋ํ ์ฌ์ง๊ฐ ์๊ธด ํ๊ฒ ์ง๋ง ํ ์์ ์์๋ ๊ฐ ๊ธธ์ด ๋ฉ๋ค.
์ผ๋ญ์ ํ์ ์์คํ ์ ํจ์ํ ์ธ์ด์์๋ ๋น๊ต์ ๋น์ฃผ๋ฅ์ ์ํ๋ ๊ฐํ์ [13]์ ๋์ ํ์ ์ ๋ฐ๋ฅด๊ณ ์๋ค.
Erlang์ ์ํ ๊ฐ๋ฐ ํด๋ก๋ VS Code์ erlang ํ๋ฌ๊ทธ์ธ ๋ฑ์ด ์๋ค.
2019๋ 4์ 20์ผ Erlang์ ๊ฐ๋ฐ์ ์ค ํ ๋ช ์ธ ์กฐ ์์คํธ๋กฑ์ด ํ ์ฌ์ ์ฆ์ผ๋ก ์ธํ ๊ฐ์ผ์ผ๋ก ํ๊ณํ์๋ค. ํฅ๋ 68์ธ. #
[1] ๊ธฐ์์ด ํต์ ๊ณตํ์์ ์ ๋ช
ํ ๋ด๋งํฌ ์ํ์์ธ Agner Krarup Erlang์ ์ด๋ฆ์์ ๋ฐ์จ ์ด๋ฆ์ด๋ค.
[2] IT์ ํ ์๋ช
์ฃผ๊ธฐ์ ๋๋ค์๊ฐ ์ ์ง๋ณด์๋ผ๋ ์ ์ ์๊ฐํด๋ณด๋ฉด ๊ต์ฅํ ์ด์ ์ด๋ค. ์ค์ ์ฌ๊ธฐ ํจ์ ์ด ํ๋ ์๋๋ฐ, ํ ๋ช
์ Erlang ํ๋ก๊ทธ๋๋จธ์ ํด์ฌ๋ ์ฌ๋ฌ ๋ช
์ ํ๋ก๊ทธ๋๋จธ์ ํด์ฌ(+ ์ฌ๊ตฌ์ธ/๊ต์ก ๋น์ฉ)์ ๋์ผํ ํจ๊ณผ๋ฅผ ๊ฐ์ ธ์จ๋ค๋ ๊ฒ.
[3] ๋น์ ํด๊ณ ๋ ์ธ์์ด 2๋ง๋ช
์ด ๋๋๋ค.
[4] Erlang Term Storage
[5] ๋ณธ๋๋ ๊ธฐ์ต์์ค์ ์๋ฏธํ๋ Amnesia์๋๋ฐ, DBMS ์ด๋ฆ์ผ๋ก๋ ๋ถ์ ์ ํ ์๋ฏธ๋ผ ์๊ฐ๋์ด A๋ฅผ ๋นผ๋ฒ๋ ธ๋ค๊ณ ํ๋ค. ํ์ง๋ง A๋ฅผ ๋บ๋ค๊ณ ์ ์ ํ ์ด๋ฆ์ด ๋๋๊ฑด์ง๋ ์๋ฌธ์ด๋ค. ์ฐ์ a-๋ผ๋ ์ ๋์ด๋ ๋ฐ๋์ ๋ป์ ๋ํ๋ด๋ ๊ฒ์ด ๋ง๋ค...
[6] Open Telecom Platform
[7] ์ง์ง ๋ฌด์ํ๋๊ฑด ์๋๊ณ ์ฅ์ ๋ฅผ ๋ณต๊ตฌ ํ๋ ์์คํ
์ด ์กด์ฌํ๋ค. ๋๋ถ์ด์ sasl ํน์ ๊ธฐํ ๋ก๊ทธ ๊ด๋ จ๋ ๋ชจ๋๋ฅผ ๋์๋๋ฉด ์๋์ผ๋ก ์ค๋ฅ ์ถ์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ก ๋ฐ ๋ณด๊ณ ํ๊ฒ ๋๋ค.
[8] ์ฝ ์ค๋ธ ๋ํฐ ์๋ฆฌ์ฆ์ ๋ฆฌ๊ทธ ์ค๋ธ ๋ ์ ๋ ๋ฉํฐํ๋ ์ด ์๋ฒ ๋ฑ์ ์ฐ์ธ๋ค.
[9] 2014๋
์๋ฃ ๊ธฐ์ค ๋์ ์ 1์ต 5์ฒ๋ง๋ช
์ ์ฑํ
์๋ฒ 150๋๋ก ์์ฉํ๊ณ ์๋ค.
[10] ๋ค๋ฅธ ์ธ์ด๋ค์ด ๋๋น ์๊ฐ ์๋๊ณ Erlang์ด ๋๋จํ ๊ทน๋จ์ ์ธ ๋์์ธ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค.
[11] ์ด๋ ํต์ ๋ง์์ ๋ฐ์ดํฐ ํจํท์ ์ค๊ณํ๋ ์ค๋น๋ค.
[12] wx๋ฅผ ์ด๋ค.
[13] ์ค์์ ์ ์์ ์๋ ๋ณํ์ด ์์ผ๋ฏ๋ก ํ๋ฌธ์ ์๋ฏธ์ ๊ฐํ์
์ ์๋๋ค.