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
'Backend' 카테고리의 다른 글
[OOP] 좋은 객체 지향 설계 원칙 (0) | 2021.07.20 |
---|---|
[JPA] 요구사항 분석과 기본 매핑 & 연관관계 매핑 기초 (0) | 2020.04.13 |
[JPA] 영속성 컨텍스트 (0) | 2020.04.08 |
[Spring] Spring IoC (0) | 2020.02.17 |
[Spring] Spring Boot 기초 - 간단한 게시판 만들기 (0) | 2019.10.13 |
댓글