분산 메세지 큐

  • Advantages
    • 결합도 완화 (decoupling): Component 사이의 강한 결합이 사라지므로 각각 독립적 갱신 가능
    • 규모 확장성 개선: Message queue에 data를 생산하는 생산자 (producer)와 queue에서 message를 소비하는 소비자 (consumer) system 규모를 traffic 부하에 맞게 독립적으로 scale out 가능
    • 가용성 개선: System의 특정 component에 장애가 발생해도 다른 component는 queue와 계속 상호작용 가능
    • 성능 개선: 손쉬운 비동기 통신 가능 ($\because$ producer는 응답을 기다리지 않고 message 생산, consumer는 읽을 message가 있을 때 소비)
  • Message queue vs. Event streaming platform
    • Apache Kafka와 Pulsar는 message queue가 아닌 event streaming platform
    • RocketMQ, ActiveMQ, RabbitMQ, ZeroMQ와 같은 message queue와 비교하여 지원 기능이 점점 비슷해져 차이가 희미해짐
Feature Message Queue (e.g., RabbitMQ, ActiveMQ) Event Streaming Platform (e.g., Kafka, Pulsar)
Primary Use Case Decoupling producers and consumers Real-time data streaming and processing
Message Retention Short-term, until consumed Long-term, configurable retention
Message Ordering FIFO (First In, First Out) Partition-based ordering
Scalability Limited, vertical scaling High, horizontal scaling
Throughput Moderate High
Latency Low Low to moderate
Fault Tolerance Basic Advanced, with replication
Consumer Model Push-based Pull-based
Use Case Examples Task queues, notification systems Log aggregation, real-time analytics
Read more »

구글 맵

Google Maps: 위성 이미지, 거리 뷰, 실시간 교통 상황, 경로 계획 등 다양한 서비스를 제공하고 있다.

1단계: 문제 이해 및 설계 범위 확정

아래 세부 사항은 가상 면접관과의 대화를 통해 문제를 이해하고, 설계 범위를 정의한 내용이다.

Read more »

Introduction

이전 글과 같이 승인전직을 무사히 마쳤지만… 3개월 임금체불로 인하여 또 다시 승인전직을 진행하게 됐다.
본 글에서 3개월 임금체불 시 어떤 관련 법률이 있는지 알아보고 승인전직, 실업급여, 대지급금이 어떤 절차로 진행되는지 알아보겠다.

그렇게 됐습니다…

Read more »

Introduction

gRPC는 다양한 기업에서 사용하고 있고, 자주 사용했었던 기술인 Triton Inference Server에서도 사용되고 있다.$_{^{\ [1]}}$
기존에는 REST API 기반 통신을 주로 사용했었는데 어떤 이유로 gRPC를 사용하기 시작한 것일까?
이 글을 통해 gRPC의 탄생 배경, 장단점, Python을 통한 구현 등을 알아보도록 하자!

Read more »