Transaction Notes Transaction https://velog.io/@ch200203/MSA-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-%EB%B6%84%EC%82%B0-%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98-%EA%B4%80%EB%A6%AC2PC-SAGA-%ED%8C%A8%ED%84%B4 ... 2024/09/05 Common
Circuit Braker Notes 서비스 A가 외부 서비스 B를 호출하는데 B가 응답하지 않는 상황을 생각해 보자. A의 요청 스레드는 B의 응답을 타임아웃까지 기다린다. 그 사이 A로 들어온 다른 요청들도 B를 호출하고 똑같이 기다린다. 결국 A의 스레드와 커넥션이 모두 B를 기다리느라 묶이고, B와 상관없는 A의 기능까지 응답하지 못하게 된다. 서킷 브레이커(Circuit Brea... 2024/09/05 Infrastructure
Message Queue Notes Message Queue 회원 가입 요청을 처리하면서 환영 메일 발송, 쿠폰 발급, 추천인 포인트 적립까지 한 요청 안에서 동기로 호출한다고 해 보자. 메일 서버가 3초 느려지면 가입 응답도 3초 느려지고, 쿠폰 서비스가 죽으면 가입 자체가 실패한다. 가입과 후속 작업이 시간적으로 묶여 있기 때문이다. 메시지 큐는 이 묶음을 푼다. 가입 서비스는 ... 2024/09/05 Infrastructure
RabbitMQ Installation Notes RabbitMQ Installation OS: macOS 설치도구: homebrew RabbitMQ 설치 설치하기 전에 brew가 최신버전인지 확실히 한다. brew update brew를 통해 RabbitMQ 서버를 설치한다. brew install rabbitmq RabbitMQ의 서버 스크립트와 CLI 도구는 /usr/lo... 2024/09/05 Infrastructure
RabbitMQ with Spring Boot Notes 이 글은 Spring Boot 애플리케이션에서 RabbitMQ로 메시지를 보내고 받는 최소 구성을 정리한다. RabbitMQ 자체의 개념은 RabbitMQ에, 설치는 RabbitMQ Installation에, 메시지 큐를 왜 쓰는지는 Message Queue에 따로 정리했다. 코드는 Spring Boot 3, Spring AMQP 3.x 기준이다. ... 2024/09/05 Infrastructure
RabbitMQ Notes RabbitMQ RabbitMQ는 오픈 소스 메시지 브로커다. 메시지 큐에서 정리한 생산자, 큐, 소비자 구조를 실제로 운영해 주는 서버이고, 기본 프로토콜로 AMQP 0-9-1(Advanced Message Queuing Protocol)을 쓴다. 아래 tutlane 튜토리얼은 RabbitMQ를 Erlang으로 만든 AMQP 브로커로 소개하고, .... 2024/09/05 Infrastructure
Reverse Proxy Notes 사용자가 https://example.com에 요청을 보내면, 그 요청을 실제로 처리하는 애플리케이션 서버가 인터넷에 직접 노출되어 있는 경우는 드물다. 보통은 그 앞에 Nginx 같은 서버가 먼저 요청을 받고, 뒤에 있는 애플리케이션 서버로 넘긴다. 이렇게 서버 쪽에서 요청을 대신 받아 뒤의 서버로 전달하는 중개자를 리버스 프록시(reverse pr... 2024/09/05 Infrastructure
Shell Script Notes Shell Script 쉘 스크립트 리눅스나 유닉스에서 커맨드라인 인터프리터에 의해 실행되는 프로그램이다. 터미널에서 한 줄씩 입력하던 명령을 파일에 모아 두고 한 번에 실행하는 것이라고 보면 된다. 서버 초기 설정, 배포, 로그 정리, 백업처럼 반복되는 운영 작업을 자동화할 때 가장 먼저 꺼내는 도구다. 쉘에는 sh(Bourne shell), ... 2024/09/05 Infrastructure
Spring AMQP Notes Spring AMQP https://spring.io/projects/spring-amqp#overview https://preamtree.tistory.com/172 Spring AMQP는 AMQP 기반 메시징에 Spring의 핵심 개념을 적용한 프로젝트다. 프로젝트 소개 페이지는 메시지를 보내고 받는 고수준 추상화와 메시지 기반 PO... 2024/09/05 Infrastructure
Apache Zookeeper Notes Apache Zookeeper Apache Zookeeper는 아파치 소프트웨어 재단의 소프트웨어 프로젝트이며, 대규모 분산 시스템에서의 분산된 서비스의 설정, 서비스의 동기화, 그리고 네이밍 레지스트리를 제공한다. Zookeeper는 Hadoop의 서브 프로젝트 였으나, 이제는 독립적인 프로젝트로서 자리잡았다. 1. Zookeeper Data... 2024/09/05 Infrastructure