Infra
-
[Infra] Blue-Green 배포 전략을 활용한 무중단 서비스프로젝트/뉴스타 2024. 8. 9. 12:40
Blue-Green 배포 전략을 활용한 무중단 서비스 왜 궁금했을까❓뉴스타 프로젝트에 Blue-Green 배포 전략을 도입하여 무중단 서비스를 구축한 과정에 대해 작성해보려고 한다. 또한, 배포 전략 중에 Blue-Green을 선택한 이유도 작성해보겠다. [Infra] 무중단 배포 전략 (Rolling / Blue-Green / Canary)무중단 배포 전략 (Rolling / Blue-Green / Canary) 왜 궁금했을까❓뉴스타 서비스 CI/CD 과정에서 서비스가 중단되는 문제점으로 인해 사용자가 일정 시간동안 서비스를 이용하지 못하는 문제점이 있었pslog.co.kr위 포스팅을 통해 무중단 배포 전략에 대한 개념을 학습할 수 있다.1. 왜 Blue-Green 배포 전략인가?1개의 서버와 어플리..
-
[Infra] Kafka를 통한 Spring Boot - FastAPI 통신프로젝트/당일 2024. 6. 3. 00:40
Kafka를 통한 Spring Boot - FastAPI 통신 왜 궁금했을까❓STOMP를 이용하여 서버간의 통신을 구현하고 서비스를 테스트하다 보니 이미지 생성 요청을 처리하는 과정에서 장애가 발생하면 요청이 손실되는 문제점이 있었다. 또한, Spring Boot의 내부 Broker는 인메모리 방식의 메시지 큐로 동작하다 보니 CI/CD 과정에서 서버가 재기동되면 메시지가 유실될 가능성이 매우 높았다. 이를 해결하고자 외부 Broker인 Kafka를 도입하기로 결정했다. [Infra] Apache KafkaApache Kafka 왜 궁금했을까❓당일 서비스에서 WebSocket으로 서버 간의 통신을 지원했는데 안정성과 장애 복구 등에 취약하다는 것을 알고 Kafka로 전환하기로 결정했다. 어느 정도 개념은..
-
[Infra] STOMP를 통한 Spring Boot - FastAPI 통신프로젝트/당일 2024. 6. 2. 14:28
STOMP 통한 Spring Boot - FastAPI 통신 왜 궁금했을까❓당일 서비스는 Spring Boot를 API 서버로 두고 FastAPI를 GPU 서버를 두고 운영하고 있다. Spring Boot는 사용자가 작성한 일기를 받아 FastAPI에게 데이터를 넘겨 이미지 생성을 요청한다. 이후, 이미지 생성이 완료되면 Spring Boot에게 결과 값을 넘겨줘 사용자에게 최종적으로 전달하게 된다. 2개의 서버 사이의 통신을 하기 위해 STOMP를 활용해보려고 한다. [Network] Socket, WebSocket, SockJS, STOMPWebSocket, SockJS, STOMP 왜 궁금했을까❓당일 서비스에서 Socket을 이용하여 Spring Boot와 FastAPI 서버간의 통신을 지원했다. ..