2024.05.21 - [Spring/대용량 트래픽] - Redis Replication
Spring Webflux
Reactive Stream API를 사용하여 non-block, asynchronous를 지원하는 비동기 스프링 웹프레임워크이다.
언제 사용되는가??
- 대량의 웹트래픽
- I/O가 많은 웹서비스 로직
Servlet기반의 기존 스프링 MVC 대비 효율적이고 높은 성능을 보여준다.
- 마이크로서비스 GateWay
- WebSocket(실시간 데이터 스트리밍)
- 실시간 채팅 서비스
** 항상 좋은것은 아니다. 동기적인 방식이 명확한 흐름을 파악할수 있기 때문이다. 또한 비동기라고 해서 무조건적으로 성능이 좋은 것도 아니기에, 코드 작성, 테스트를 꼼꼼히 해야한다.
→ 위의 예시와 같이 특수한 상황이 아니라면 원래 사용하는 스프링 MVC를 사용하는게 효율적이다.
이제부터 자세하게 알아볼 것들을 나열해봤다.
- CPU Bound vs I/O Bound
- Sync / Async
- Blocking / Non - Blocking
- Project Reactor (Reactive Stream의 구현체)
- Spring Webflux
- WebClient
- R2DBC, Reactive Redis
다음 글들은 이 내용들을 상세하게 살펴볼 예정이다. 화이팅!
2024.05.21 - [Spring/대용량 트래픽] - CPU Bound vs I/O Bound
'Spring > 대용량 트래픽' 카테고리의 다른 글
sync/async 와 block/non-block (0) | 2024.05.21 |
---|---|
CPU Bound vs I/O Bound (1) | 2024.05.21 |
Redis Replication (0) | 2024.05.21 |
Prometheus, Grafana 오픈소스로 Redis 모니터링하기 (0) | 2024.05.21 |
Spring Boot Pub/Sub (0) | 2024.05.14 |