네트워크 2

[네트워크] RabbitMQ와 Kafka

(이전) 회사에서 프로젝트 설계 중 Message Queue에 대한 얘기가 나왔다. RabbitMQ와 Kafka 중 어떤 것을 사용하는 것이 더 효율적일지 정리 후 보고해달라 하셔서 알아보게 되었다.일단, Kafka와 RabbitMQ의 정의를 알아보기 전 메시지 큐 (Message Queue)에 대하여 알아야 한다.1. 메시지 큐 (Message Queue) 란?간단하게 말하면, 메시지를 일시적으로 저장하는 대기열(queue) 역할을 하는 것이다.특징FIFO(First-In-First-Out) 방식으로 메시지를 전달메시지가 소비되기 전까지 queue에서 대기비동기 방식으로 시스템간 결합도를 낮춤2. RabbitMQ란?RabbitMQ는 AMQP를 구현한 오픈소스 메시지 브로커이다. 여기서메시지 브로커(Me..

네트워크 2025.03.18

[네트워크] 소켓(Socket) 통신

웹 개발을 시작하면서 네트워크 공부에 대한 필요성을 깨닫게 되었다. 사실 고등학교 시절에 배웠는데 다 까먹어서 다시 공부를 시작하게 되었다. Socket 통신과 HTTP 통신에 대하여 다룰 것인데 이번 장에는 Socket 통신에 대하여 알아보자. 1. 소켓(Socket)이란?사실 Socket에 대한 개념이 잡히지 않아서 정의부터 찾아보았다.소켓(Socket)의 정의네트워크 상에서 서버 프로그램과 클라이언트 프로그램이 통신하는 end-point이다. end-point는 IP 주소와 port 번호를 조합한 것으로, 최종 목적지를 나타낸다. 즉, 서버 프로그램과 클라이언트 프로그램이 통신할 수 있도록 하는 연결부, 연결 구멍이라고 할 수 있다.소켓은 IP 주소, 포트 번호, 프로토콜이 필요하다.2. 소켓(So..

네트워크 2025.03.17