| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 |
- rabbitmq
- 고가용성
- 보안
- 마이크로서비스 운영
- 메시징 패턴
- ApacheBench
- 메시지 브로커
- 클러스터
- 마이크로서비스 통신
- infrastructureascode
- Kafka 클러스터
- 클라우드
- RabbitMQ Exchange
- 컨테이너오케스트레이션
- Python
- CI/CD
- 서비스 설계
- 모노리스 분해
- 모니터링
- 이벤트 스트리밍
- 분산 시스템
- docker
- devops
- 프로덕션 운영
- 마이크로서비스
- 서비스 메시
- 분산 모니터링
- 세션저장소
- kubernetes
- 인메모리데이터베이스
- Today
- Total
목록2025/07 (15)
hobokai 님의 블로그
목차데이터 관리 패턴분산 모니터링과 로깅CI/CD 파이프라인 구축성능 최적화와 확장 전략운영 모범 사례데이터 관리 패턴마이크로서비스에서 데이터 관리는 가장 복잡하면서도 중요한 영역입니다. 각 서비스는 독립적인 데이터베이스를 가져야 하지만, 서비스 간 데이터 일관성은 유지해야 합니다.1. Database per Service 패턴# 서비스별 데이터베이스 분리services: user-service: database: type: PostgreSQL schema: user_management tables: - users - user_profiles - user_preferences order-service: database: ..
목차API Gateway 패턴서비스 메시 아키텍처서비스 간 통신 패턴분산 트랜잭션 관리실전 구현 사례API Gateway 패턴API Gateway는 모든 클라이언트 요청의 단일 진입점 역할을 하며, 여러 마이크로서비스로 요청을 라우팅하는 중간 계층입니다.핵심 기능 클라이언트 요청 ↓ ┌─────────────────────────────────────┐ │ API Gateway │ │ ┌─────────────────────────────────┐ │ │ │ • 인증/인가 (Authentication) │ │ │ │ • 로드 밸런싱 (Load Balancing) ..
목차마이크로서비스란?모노리스 vs 마이크로서비스마이크로서비스 설계 원칙모노리스 분해 전략실전 분해 사례다음 편 미리보기마이크로서비스란?마이크로서비스 아키텍처는 하나의 큰 애플리케이션을 작고 독립적인 서비스들로 분해하여 구축하는 소프트웨어 개발 접근법입니다. 각 서비스는 특정 비즈니스 기능을 담당하며, 독립적으로 개발, 배포, 확장할 수 있습니다.핵심 특징독립성 🔸각 서비스는 독립적인 프로세스로 실행서로 다른 기술 스택 사용 가능독립적인 데이터베이스 보유분산성 🔸네트워크를 통한 서비스 간 통신여러 서버에 분산 배포장애 격리 및 복구 능력비즈니스 중심 🔸도메인 기반 서비스 분해팀 단위 서비스 소유빠른 기능 개발 및 배포왜 마이크로서비스인가?📈 확장성: 필요한 서비스만 선택적 확장🚀 개발 속도: 팀별..
목차클러스터링과 고가용성모니터링과 성능 최적화보안 설정프로덕션 모범 사례트러블슈팅클러스터링과 고가용성프로덕션 환경에서는 단일 장애점을 제거하고 높은 가용성을 확보해야 합니다.클러스터 구성3노드 클러스터 설정# 노드 1 (rabbit1)sudo rabbitmq-server -detached# 노드 2 (rabbit2)sudo rabbitmq-server -detachedsudo rabbitmqctl stop_appsudo rabbitmqctl join_cluster rabbit@rabbit1sudo rabbitmqctl start_app# 노드 3 (rabbit3)sudo rabbitmq-server -detachedsudo rabbitmqctl stop_appsudo rabbitmqctl join_clu..
목차Exchange 심화 이해Direct Exchange 패턴Topic Exchange 패턴Fanout Exchange 패턴Headers Exchange 패턴실전 메시징 패턴Exchange 심화 이해1편에서 배운 기본 개념을 바탕으로, 이제 RabbitMQ의 핵심인 Exchange를 자세히 알아보겠습니다.Exchange란?Exchange는 RabbitMQ의 라우터 역할을 합니다. Producer가 보낸 메시지를 어떤 Queue로 보낼지 결정하는 것이 Exchange의 역할입니다.# Exchange 선언channel.exchange_declare( exchange='my_exchange', exchange_type='direct', # 타입 지정 durable=True, ..
목차RabbitMQ란?핵심 아키텍처설치 방법기본 개념 이해다음 편 미리보기RabbitMQ란?RabbitMQ는 AMQP(Advanced Message Queuing Protocol)를 구현한 오픈소스 메시지 브로커입니다. LinkedIn에서 개발한 Kafka와 달리, RabbitMQ는 다양한 메시징 패턴을 지원하며 특히 마이크로서비스 아키텍처에서 널리 사용됩니다.왜 RabbitMQ를 선택해야 할까요?안정성과 신뢰성메시지 지속성과 전달 확인 보장클러스터링을 통한 고가용성 제공유연성다양한 메시징 패턴 지원 (pub/sub, point-to-point, RPC)여러 프로토콜 지원 (AMQP, MQTT, STOMP)관리 편의성직관적인 웹 관리 인터페이스풍부한 모니터링 기능생태계다양한 언어 클라이언트 라이브러리플러..
Apache Kafka 완벽 가이드 3편: 클러스터링과 프로덕션 운영목차Kafka 클러스터 구성모니터링과 성능 최적화보안 설정운영 자동화장애 대응과 복구Kafka 클러스터 구성프로덕션 환경에서는 고가용성과 확장성을 위해 Kafka 클러스터를 구성해야 합니다.3노드 클러스터 구성# docker-compose-cluster.ymlversion: '3.8'services: zookeeper1: image: confluentinc/cp-zookeeper:7.4.0 hostname: zookeeper1 ports: - "2181:2181" environment: ZOOKEEPER_SERVER_ID: 1 ZOOKEEPER_CLIENT_PORT: 2181 Z..
Apache Kafka 완벽 가이드 2편: Producer/Consumer 고급 기능과 Kafka Streams목차Producer 고급 기능Consumer 고급 패턴Kafka Streams 입문실시간 분석 시스템 구축성능 최적화 기법Producer 고급 기능1편에서 배운 기본 Producer를 발전시켜 프로덕션 환경에 적합한 고급 기능들을 살펴보겠습니다.커스텀 파티셔너기본 파티셔닝 로직을 대신해 비즈니스 요구사항에 맞는 파티셔닝을 구현할 수 있습니다.from kafka import KafkaProducerfrom kafka.partitioner.base import Partitionerimport hashlibclass UserLocationPartitioner(Partitioner): """사용자..