티스토리 뷰

서버

vert.x

Hilu 2019. 3. 2. 16:47

vert.x 란?

- node.js와 비슷한 비동기 소켓 서버 프레임 웍이다.

- single thread

- 모든 연결된 소켓 connection에 대해서 event loop 작동

Apache Netty, HazelCast 기반

- Verticle 이라는 프로그램 단위를 가짐

- 하나의 jvm 에 Vert.x 인스턴스 생성이 가능 (멀티코어에서 jvm을 여러개 생성하여 jvm 당 하나씩 Vet.x 인스턴스 생성 가능)


apache(tomcat)과 차이점

- tomcat은 thread pool 방식으로 50~500 여개의 connection 을 관리 한다.


node.js 와 차이점

- 언어 지원 차이 (java, javaScript, Python, Groovy, Scala)

- instance 간 데이터 교환 가능 (HazelCast 이용)

- 레퍼런스가 node.js 에 비해 너무 부족함.

- Netty 기반 NW IO, Hazel Cast 클러스터링 


장점

- 다양한 언어 지원 java, javaScript, Python, Groovy, Scala

- 클러스터링 지원 

=> 여러 가지 Vert.x 서버 구동 가능, Vert.x 서버 간 통신 가능)

=> 하지만 Vert.x 서버 간 데이터 공유는 어려움 (가성이 있긴 함. => HazelCast 사용)

- 여러개의 instance 로 Vert.x 구동이 가능함. ELP(Event Loop) 는 각자 가지고 있음.

=> multi core machine 에서 장점이 있음.

- Embedded Vert.x

=> JVM 과 같이 사용 가능 하며, Socket.IO, websocekt 같이 concurrent connection(동시접속) 이 많이 필요한 request 는 Vert.x 에서 처리 하도록 하는 것이 가능.

- event bus 사용으로  Vert.x 간 통신 가능 (1:1, 1:N) 가능


단점

- node.js 에 비해서 개발된 api 가 적고, 참고 서적 및 기술 지원이 너무 빈약하다.

 

'서버' 카테고리의 다른 글

스프링웹플럭스_2  (0) 2021.11.11
스프링웹플럭스_1  (0) 2021.11.10
Spring - Constructor Injection  (0) 2019.05.07
node.js  (0) 2019.03.02
sync, async, block, non-block  (0) 2019.02.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함