Backend
-
gRPCBackend 2024. 12. 9. 22:54
gRPC 는 Google 에서 개발한 오픈 소스 원격 프로시저 호출(Remote Procedure Call) 프레임워크로, 기존의 RPC 시스템을 현대화하여 다양한 환경에서 효율적인 통신을 지원한다. gRPC는 HTTP/2 를 기반으로 하며, 프로토콜 버퍼(Protocol Buffers) 를 사용하여 데이터를 직렬화한다. 전통적인 RPC 시스템과 gRPC 의 차이데이터 직렬화 방식RPC: 일반적으로 XML이나 JSON 같은 텍스트 기반의 직렬화 형식을 사용한다.gRPC: 프로토콜 버퍼라는 이진 직렬화 형식을 사용하여 데이터의 크기를 줄이고, 직렬화 및 역직렬화 속도를 향상시킨다.전송 프로토콜RPC: 주로 HTTP/1.1 을 사용하며, 요청-응답 방식으로 통신한다.gRPC: HTTP/2 를 기반으로 하여 ..
-
RPC(Remote Procedure Call)Backend 2024. 12. 7. 18:27
RPC(Remote Procedure Call)는 네트워크를 통해 분산 시스템에서 서로 다른 컴퓨터 간의 프로시저(함수)를 호출할 수 있도록 하는 통신 메커니즘이다. RPC는 로컬 함수 호출처럼 보이지만, 실제로는 원격 서버에서 실행되는 프로세스다. 이를 통해 부산 시스템 간의 통신을 쉽게 구현할 수 있다. 이를 통해 개발자는 네트워크 통신의 복잡성을 신경 쓰지 않고도 원격 서버의 기능을 사용할 수 있다. 주요 특징투명성: 개발자는 원격 함수 호출을 로컬 함수 호출처럼 수행할 수 있으며, 네트워크 통신의 복잡성을 숨겨준다.언어 및 플랫폼 독립성: RPC 는 다양한 언어와 플랫폼 간의 통신을 지원하여 이기종 시스템 간의 상호 운용성을 높인다.계층 구조: 클라이언트와 서버는 서로 계층적으로 구성되며, 클라이..
-
분산 락(Distributed lock)Backend 2024. 11. 17. 20:19
1. 분산 락의 상세 개념정의: 분산 시스템에서 공유 자원에 대한 동시 접근을 제어하는 동기화 메커니즘입니다.작동 방식:모든 서버/프로세스가 접근할 수 있는 공유 저장소(Redis, ZooKeeper 등)에 락을 저장락을 획득하려는 프로세스는 원자적 연산으로 락 생성을 시도락을 획득한 프로세스만 공유 자원에 접근 가능작업 완료 후 락을 해제하여 다른 프로세스가 사용할 수 있게 함2. 분산 락의 핵심 요구사항상호 배제(Mutual Exclusion): 특정 시점에 하나의 프로세스만 락을 보유할 수 있음데드락 방지(Deadlock Prevention):락 획득 실패 시 적절한 타임아웃 설정락 보유자가 비정상 종료된 경우를 대비한 자동 해제 메커니즘고가용성(High Availability):락 서비스 자체의 ..