RabbitMQ란? RabbitMQ는 AMQP 스펙을 구현한 대표적인 오픈 소스 메시지 브로커이다. 수신 받은 메시지를 큐에 저장하고, 이를 처리하는 시스템 간에 비동기적으로 메시지를 전달하는 역할을 한다. 주요 기능으로는 메세지를 많은 사용자들에게 전달하거나, 요청에 대한 처리 시간이 길때, 해당 요청을 다른 API에게 위임하고 빠른 응답을 할 때 많이 사용한다. 예를 들어, 사용자가 파일 업로드를 요청했을 때, 그 작업을 RabbitMQ 큐에 넣어두고 빠르게 사용자에게 "작업이 접수됨" 이라는 응답을 보낼 수 있다. 실제 아키텍쳐에서 업로드 작업은 백그라운드에서 처리되며, 이를 통해 빠른 응답과 비동기 처리가 가능하다. 앞서 RabbitMQ는 AMQP 스펙을 구현한 대표적인 오픈 소스라고 말하였다. ..
메시지 큐(Message Queue)메시지 큐는 애플리케이션 간의 비동기 데이터 통신을 지원하는 시스템으로, 데이터를 큐에 저장하고 처리할 수 있도록 도와준다. 특히, 대규모 분산 시스템에서 안정적이고 유연한 통신을 구현할 때 유용하다. 즉, 메시지 큐는 분산된 환경에서 프로세스나 프로그램의 시스템 간 데이터를 교환하기 위해 사용되는 통신 기법이다. 📌 주요 특징 비동기적 통신: 발신자와 수신자가 독립적으로 작업을 수행할 수 있도록 지원한다.중간 저장소 역할: 데이터를 큐(queue)에 임시로 저장하고, 소비자가 이를 처리한다.분산 시스템 필수 구성 요소: 작업 부하 분산, 내결함성, 확장성 제공. 주요 구성 요소 🔧메시지(Message): 큐에 저장되는 데이터 단위. JSON, XML, 텍스트..
JWT란? JSON Web Token 의 줄임말이다. JSON 객체에 인증에 필요한 정보들을 담은 후 비밀키로 서명한 (암호화 시킨) 토큰이다. 웹 토큰 기술의 한 종류로, 웹 애플리케이션 및 API에서 사용자 인증과 권한 부여를 관리하기 위한 도구이다. 간략한 작동 방식은 JWT(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별한다 그림으로 설명하자면, 유저가 로그인하면 서버에서는 해당 유저의 정보를 기반으로한 토큰을 생성하고, 이 토큰을 유저에게 전달한다. 유저는 이 토큰을 가지고 HTTP 헤더를 통해 서버에 요청을 할 때마다 토큰을 함께 전달함으로써 자신의 인증을 증명한다. 이를 통해, 서버는 각 요청에서 토큰을 확인하여 유저의 신원을 검증하며, 세션 관리의 번거로움 없이 간..
대학교 2학년 2학기 '컴퓨터공학' 강의를 수강했고, 끝맺음도 잘하였다. 복습 겸 기초 언어인 어셈블리어를 복습하고자 작성하였다. 당신의 아래를 따라 밉스 프로그램을 작성해야 한다 당신의 프로그랩은 "Please, type a number"라는 문장으로 정수를 입력하라는 요청을 한다 입력된 정수에 10을 곱한다. 결과를 출력하라 (입력 값 * 10)에 "The result is xxx"의 형식으로 Result .data studentid: .asciiz "What is your Student ID: " # Problem Requirements-start idblank: .space 20 prompt: .asciiz "Please, type a number: " result: .asciiz "The res..
흐름제어(Flow Control) 란? 더 빠른 송신자가 느린 수신자를 제압하지 못하도록 두 노드 간 데이터 전송 속도를 관리하는 과정이다. 수신 노드가 전송 노드의 데이터에 제압되지 않도록 수신자가 전송 속도를 제어할 수 있는 메커니즘. 각 데이터 처리 속도가 송신(보내는) > 수신(받는) 일 경우 data loss(패킷 손실) 발생 -> 큐잉 지연 ★흐름 제어는 혼잡이 실제로 발생할 때 데이터의 흐름을 통제하기 위해 사용되는 혼잡제어와는 구별된다. 흐름제어 종류 1) "Stop and Wait" 매번 송신자는 자신이 보낸 패킷에 대한 확인 응답(ACK)을 받아야 그다음 패킷을 전송할 수 있다. (응답 전까지 대기, 시간소모 UP) Give & Take 방식이고 비효율적이다. 요즘 네트워크에서 사용되지..
1. OSI 7 Layer 개요 - 네트워크 통신을 체계적으로 다루고 있는 ISO 표준은 개방시스템 상호연결 (OSI) 모델이다. OSI 모델은 통신 규약으로 1984년에 정의되었다. - 개방시스템(Open System)이란 기반구조와 관계없이 시스템 간의 통신을 제공하는 프로토콜의 집합이다. (Open System Intercon-nection) - 계층구조를 가짐으로써 데이터자체의 흐름을 각 구간별로 데이터의 움직임을 알 수 있다. 문제가 생긴 계층을 수정하면 되기 때문에 문제 해결에 쉬운 편이고, 또한 트러블슈팅 자체가 용이해지며 각기 다른 벤더사 와의 호환성도 해결될 수 있다. 2. TCP/IP Protocol Suite 개요 ① TCP/IP는 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 ..