본문 바로가기
Backend

Vert.x

by wahu 2020. 2. 18.

Vert.x API는 event driven이다. Vert.x는 발생한 이밴트 처리를 핸들러에게 맡긴다.

대부분 Vert.x는 event loop thread를 사용하여 핸들러를 호출한다.

 

Vert.x event loop

Vert.x는 Node.js 의 single event loop와는 다르게 여러개의 event loops를 유지한다. 기본적으로 사용 가능한 core의 숫자에 기반하여 숫자를 결정한다. 이 숫자는 변경할 수 있다.

 

Vert.x Golden Rule - Event loop를 Block 시키면 안된다.

handler에서 event loop를 블럭 시킨다면 event loop는 블럭이 해제될 때까지 아무것도 할 수 없다.

 

Blocking examples

* Thread.sleep()

* lock 기다림, mutex 기다림, 긴 database 작동, 오래걸리는 복잡한 계산, 긴 loop

 

 

 

 

 

event driven

댓글