아키텍쳐 /대용량 아키텍쳐

Erlang - 딱이다.

Terry Cho 2011. 12. 19. 09:14
요즘 대규모 분산환경 관련 기술에 대해서 기웃거려 보고, 개발언어 관련해서도 자바는 아무래도 사양세 같아서 이것 저것 언어들을 살펴보고 있는데, Erlang이 자료도 적고, 유명하지는 않지만 요즘 해외에서 유난히 많이 언급되서 좀 찾아봤다.
일단 한마디로 하면.. "이건 턱시도 + 자바네...."

Functional Programming이라고 하는데, 알아서들 찾아보시고, 완전히 Tuxedo의 Service 개념이다. (SOA의 서비스 개념과도 비슷하고..) 구조또한 Tuxedo다. Process 단위로 구동하면서, 안에 Thread로 나눠서 돌고, 그로 인해서 장애 전파가 안되고, Process가 늘어나면서 Schedule Out이 가능하다.

또한, Function은 여러 서버에 Deployment하더라도 횡적으로 스케일 아웃이 가능하다. (Single Machine에 배포하는 프로그래밍이나, Multi Node에 배포하는 코드 자체가 똑 같다는..) 이건, Tuxedo의 경우 두대간에만 스케일 아웃이 가능한데, 요걸 무제한으로 만들어놨다는 소리...

Tuxedo에서도, 이런 프로세스나 서비스, 그리고 노드(Machine)간의 Communication을 위해서, IPC(특히 ShareMemory)를 사용했는데, Erlang도 보니 구조가 비슷한 것 같은데.. 역시 ShareMemory Locking 이슈가 있지 않을까..
그리드형