대규모스트림처리(5)
-
Kafka란?
2024/10/01 카프카 개발자 제이 크렙스는 대학시절 프란츠 카프카의 작품을 좋아했다고 합니다.그래서 오픈소스 프로젝트 이름을 카프카라고 정했죠.이름과 기능 사이에 별 관계가 없지만 유래를 알고 있으면 좋을 것 같습니다. ※ Kafka에 대해 알아보자. ▶ Kafka란?Kafka는 분산 스트리밍 플랫폼으로, 주로 실시간 데이터 피드의 빅 데이터 처리를 목적으로 사용된다. Kafka는 메시지 큐와 유사하지만, 대용량 데이터 스트림을 저장하고 실시간으로 분석하거나 처리하는 데 중점을 둔다. ● Kafka의 역할 ○ 실시간 데이터 처리: 대용량 데이터를 실시간으로 처리하고 분석한다. ○ 데이터 통합: 다양한 소스에서 데이터를 수집하..
2024.10.01 -
RabbitMQ란?
2024/09/30 ※ RabbitMQ에 대해 알아보자. ▶ RabbitMQ란?RabbitMQ는 메시지 브로커다. 메시지 브로커는 데이터(메시지)를 송신자(프로듀서)로부터 수신자(컨슈머)에게 전달하는 중간 매개체 역할을 한다. RabbitMQ는 이러한 메시지를 큐(queue)에 저장하고, 필요할 때 적절한 수신자에게 전달한다. ● RabbitMQ의 역할 ○ 비동기 처리: 데이터를 비동기적으로 처리하여 시스템의 응답성을 높인다. ○ 부하 분산: 여러 소비자에게 메시지를 분산시켜 시스템의 부하를 균형 있게 분산한다. ○ 내결함성: 메시지를 안전하게 저장하여 시스템 장애 시 데이터 손실을 방지한다. ● ..
2024.09.30 -
대규모 시스템이란?(3)
2024/09/27 ※ 대규모 시스템에 대해 더 살펴보자. ▶ 모니터링과 로깅 ● 모니터링과 로깅 ○ 대규모 시스템에서 모니터링과 로깅은 시스템의 안정성과 성능을 유지하는 데 필수적인 역할을 한다. ○ 이를 통해 시스템의 상태를 실시간으로 파악하고, 문제 발생 시 신속하게 대응할 수 있다. ○ 모니터링과 로깅 모두 다음의 항목을 주요 사항으로 본다. ✅ 시스템 안정성 유지 ✅ 성능 최적화 ✅ 문제 예방 및 대응 1️⃣ 모니터링 ○ 애플리케이션, DB, 캐시 등 각 컴포넌트의 성능을 모니터링한다. ○ 이..
2024.09.29 -
대규모 시스템이란?(2)
2024/09/26 이전 포스팅에서 대규모 시스템이 무엇인지 알아보았습니다.오늘은 대규모 시스템에 대해 추가적으로 살펴보겠습니다. ※ 대규모 시스템에 대해 더 살펴보자. ▶ 대규모 시스템 ● 데이터 일관성 유지 📌 대규모 시스템에서는 데이터 일관성을 유지하는 것이 중요하다. 이를 위해 분산 트랜잭션, 이벤트 소싱, CQRS(Command Query Responsibility Segregation) 등의 기법을 사용할 수 있다. 1️⃣ 분산 트랜잭션 ○ 분산 트랜잭션은 여러 개의 독립된 시스템이나 데이터베이스에서 동시에 일어나는 트랜잭션을 일관되게 관리하는 방법이다. ○ 단일 트랜잭션이 여러 시스템에 걸쳐 발생할 때, 모든..
2024.09.26 -
대규모 시스템이란?(1)
2024/09/25 ※ 대규모 시스템에 대해 알아보자. ▶ 대규모 시스템이란? ● 대규모 시스템이란 무엇일까? ○ 인터넷 환경에서는 수백만 명의 사용자가 동시에 접속하고 상호작용할 수 있는 시스템을 구축해야 하는 상황이 자주 발생한다. ○ 이러한 시스템은 단순히 많은 사용자를 처리하는 것뿐만 아니라, 안정성과 신뢰성을 유지하면서 고성능을 제공해야 한다. ○ 대규모 시스템을 설계하고 구축하는 과정에서 고려해야 할 중요한 요소들을 한번 알아보자. ● 큐를 통한 대규모 스트림 처리에 대해 집중해보자. ○ 큐를 사용하면 대규모 처리를 할수 있다라는 이..
2024.09.25