Tech

Tech

[Tech] Task Queue + Workers Pool

많은 현대 프로그래밍 프레임워크와 시스템들은 Task Queue와 Workers Pool을 기본적으로 구현하고 있습니다. 이들은 비동기적 작업 처리, 멀티스레딩, 분산 컴퓨팅과 같은 고급 기능을 효율적으로 관리하는 데 필수적인 요소들입니다. 이번 글에서는 이 Task Queue와 Workers Pool에 대해서 알아보도록 하겠습니다. Task Queue + Workers Pool을 활용한 서버의 구조 Task Queue와 Workers Pool을 도입한 서버의 구조입니다. Socket 단에서는 I/O Multiplexing을 한 후 메시지를 뽑아낸 다음 Task Queue에 넣고 바로 빠집니다. 이 Task Queue에 들어간 메시지들을 다른 스레드가 핸들러를 호출해 처리합니다. 이때 메시지들을 처리하는..

Tech

[Tech] Kafka? RabbitMQ?

들어가기 전에 실시간 채팅 구현을 고려하는 도중 Message Queue에 대해 알게 되었다. Message Queue중 대표적인 것으로는 Kafka와 RabbitMQ가 있다는 것도 알게 되었다. 이번 포스팅에서는 이 둘 각각의 장점과 차이점을 알아보고 어떤 상황에서 어떤 것을 사용하는 것이 좋은지 알아보려고 한다. Message Queue? 메시지 큐는 애플리케이션 간에 데이터를 전송하는 데 사용되는 중간자나 중개자이다. 사용하는 주요 이유는 아래와 같다. 비동기 처리: 메시지 큐는 시스템 간의 통신을 비동기식으로 만들어, 한 서비스가 다른 서비스로부터 독립적으로 동작할 수 있게 해준다. 이를 통해 애플리케이션의 처리 과정을 비동기적으로 만들어 애플리케이션의 응답성을 향상시키고, 병목 현상을 줄일 수 ..

진세박
'Tech' 카테고리의 글 목록