티스토리 뷰
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
- MQ
- data crawling
- fastapi
- 테스트
- 켄트 백
- 분산처리
- 웹서비스
- SpringBoot
- data mining
- mongodb
- EC2
- 테스트 주도 개발
- Python
- Python #FastAPI
- AWS
- TDD
- GateWayApi
- nodejs
- 테스트주도개발
- kafka
- 퀜트백
- MSA
- 웹개발
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |