소개 - Vert.x란?

고성능 데이터 네트워크 서버 기능을 제공하는 '도구상자(Tool kit)'

소프트웨어 프레임워크(software framework)

소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조(骨組), 프레임워크(framework)라고도 한다.

-위키백과 한국어판, 소프트웨어 프레임워크

즉, 프레임워크마다 각자의 코딩 규칙이 존재하고, 그 규칙을 따라서 코딩을 해 나가면 균일한 품질의 소프트웨어 하나를 만들어낼 수 있다는 의미이다.

필자가 이 내용을 언급한 이유는, Vert.x는 프레임워크가 아니기 때문이다.

Vert.x가 프레임워크가 아닌 이유

상기한 프레임워크의 의미 설명에서 알 수 있듯, Vert.x가 소프트웨어 프레임워크였다면, 프레임워크 답게 특수한 규칙을 제공해야 한다. 그러나 Vert.x를 이용하기 위해 강제되는 규칙은 없기 때문에, 개발자에게 주어지는 자유도가 높다. 즉, Vert.x만 가지고 코딩하여 완전한 프로그램을 만들어도 되고, 이미 타 프레임워크를 사용하여 완성한 프로그램에 Vert.x로 만든 기능을 추가하여도 아무런 문제가 없다.

주요 특징

다양한 언어를 지원함

지원가능 언어: Java, Scala, Groovy, Python, Ruby, JavaScript

JVM 기반의 모든 언어가 지원대상

자바스크립트만 사용 가능한 node.js에 비해, 성능과 폴리글랏 프로그래밍 측면에서 매력적이라 볼 수 있다.

이벤트 루프[Event Loop] 모델 도입으로 처리성능 극대화 추구

Vert.x는 기본적으로 싱글스레드[Single Thread] & 이벤트 드리븐[Event Driven]으로 모든 작업을 처리한다. Vert.x에서는 이 작업 모델을 이벤트 루프[Event Loop, ELP] 라고 부른다.

성능이 이미 입증된 모듈을 도입하여 성능에 대한 신뢰성을 보장

대표적인 예: JVM, Netty, HazelCast

보통, 새로 나온 도구는 성능에 대한 의심을 피할 수 없는데, Vert.x는 성능을 이미 입증받은 기존 도구들을 가져와 자신들의 방식에 맞게 녹여내었다. 이것으로 하여금 새로움과 안정성에 대한 신뢰를 동시에 얻고자 노력하였다.

results matching ""

    No results matching ""