이벤트 루프 [Event Loop, ELP]

이벤트 루프[Event Loop, ELP] 란?

Vert.x의 작업 처리모델로써, 싱글 스레드(Single Thread)로 다량의 작업요청을 처리하기 위한 방법이다. 각각의 작업을 이벤트로 간주하여, 먼저 들어온 이벤트 순서대로 순차적으로 진행한 후, 작업 결과를 돌려주는 방법이다.

장점

요청작업 하나당 새로운 스레드를 생성하여 처리하는 방식에 비해 시스템 리소스를 효율적으로 관리할 수 있다.

이것은 곧 같은 시스템 리소스 대비 더 많은 작업량을 처리할 수 있다는 이야기므로, 하드웨어 리소스 유지관리에 들어가는 비용을 합리화할 수 있다.

단점

ELP 모델로 하여금 동일 리소스 대비 작업처리량 증가를 추구할 수 있는 것은 Vert.x가 수행하는 모든 작업이 논블로킹/비동기 특성을 지녔다는 가정에서나 가능한 것이다.

이벤트 대기열에 대기중인 작업 중 시간이 오래 걸리거나, 블로킹/동기화 작업을 동반해야 하는 작업이 들어가 있을 경우 후순위 이벤트들에게 연쇄적으로 영향을 주게 되어, 오히려 전체 시스템의 성능이 떨어지는 결과를 낳게 되므로, Vert.x로 시스템의 기능을 만들 때 주의를 요한다.

results matching ""

    No results matching ""