전체 글(50)
-
모니터링 - Prometheus와 Grafana
2024/10/04 ※ Prometheus와 Grafana에 대해 알아보자. ▶ Prometheus란❓📌 Prometheus는 오픈 소스 시스템 모니터링 및 경고 도구다. SoundCloud에서 시작되어 현재는 Cloud Native Computing Foundation(CNCF)에서 호스팅하고 있다. Prometheus는 시계열 데이터베이스를 사용하여 메트릭데이터를 수집하고, 쿼리 및 시각화를 통해 시스템 상태를 모니터링하고 경고를 설정할 수 있다. ● Prometheus의 주요 구성 요소 ✅ Prometheus 서버:메트릭 데이터를 수집하고 저장하는 핵심 컴포넌트다. ○ 각 타겟으로부터 데이터를 주기적으로 스크랩(scrap..
2024.10.04 -
모니터링 시스템
2024/10/02 애플리케이션을 개발하고 배포까지 마무리하면 개발자로서의 역할은 끝난걸까요?당연히 아니겠죠? 애플리케이션의 안정적이고 효율적인 운영을 위해 모니터링은 필수적입니다. 또한, 웹 애플리케이션 개발은 항상 해커들의 타겟이 됩니다. 해커들은 다양한 기법을 사용하여 시스템의 취약점을 찾고, 이를 악용하려고 합니다.따라서 보안은 매우 중요한 요소입니다. ※ 모니터링에 대해 알아보자. ▶ 모니터링이란?모니터링은 시스템의 성능, 안정성 및 가용성을 실시간으로 관찰하고 측정하는 과정을 의미한다. 모니터링 도구를 사용하여 시스템의 상태를 추적하고, 문제를 감지하고, 성능을 최적화하며, 장애 발생 시 빠르게 대응할 수 있다. ● 모니터링의 중요성 ○ 문제 예..
2024.10.02 -
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