kafka
-
[Infra] Apache Kafka프로젝트/당일 2024. 6. 6. 16:21
Apache Kafka 왜 궁금했을까❓당일 서비스에서 WebSocket으로 서버 간의 통신을 지원했는데 안정성과 장애 복구 등에 취약하다는 것을 알고 Kafka로 전환하기로 결정했다. 어느 정도 개념은 알고 있지만 자세하게는 알지 못해 이번 기회에 깊이 공부해 보려고 한다.1. Apache Kafka란?Apache Kafka는 대규모 실시간 데이터 스트리밍을 처리하는 데 사용하는 분산 이벤트 스트리밍 플랫폼이다.Pub-Sub 모델의 메시지 큐 형태로 동작하며 분산 환경에 특화되어 있다.Kafka가 도입되기 전에는 위와 같이 서버 간의 End-to-End로 연결되어 데이터를 주고받았다.이로 인해, 서비스의 복잡도가 증가하고 확장이 어려워지며 장애 발생 가능성도 증가하는 문제점이 존재한다.Kafka가 도입하..
-
[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로 전환하기로 결정했다. 어느 정도 개념은..