본문 바로가기

전체 글

(181)
[Kafka 에러] ERROR Shutdown broker because all log dirs in C:\tmp\kafka-logs have failed ⛔문제점 Kafka가 에러를 발생시키고 비정상적으로 종료가 됨. [에러 로그] 5,__consumer_offsets-26,__consumer_offsets-29,__consumer_offsets-34,__consumer_offsets-10,__consumer_offsets-32,__consumer_offsets-40 and stopped moving logs for partitions because they are in the failed log directory C:\tmp\kafka-logs. (kafka.server.ReplicaManager) [2024-02-08 18:49:26,741] WARN Stopping serving logs in dir C:\tmp\kafka-logs (kafka.lo..
Redis란 무엇일까? 📌 NoSQL의 종류 서로 연관된 그래프 형식의 데이터를 저장할 수 있는 Graph Store Row가 아닌 Column 위주로 데이터를 저장하는 Column Store 비정형 대량 데이터를 저장하기 위한 Document Store 메모리 기반으로 빠르게 데이터를 읽어올 수 있는 Key-Value Store 이 중 Redis는 Key-Value Store 중 하나이다. 📌 Redis(Remote Dictionary Server) 'key-value' 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈소스 기반의 비관계형 데이터베이스 관리 시스템 다양한 in-memory 데이터 구조 집합을 제공하므로 다양한 사용자 정의 애플리케이션을 손쉽게 생성할 수 있다. 주요 사용 사례 : 캐싱, 세션 관리, pub-..
Apache Kafka란 무엇일까? 📌 Apache Kafka 빠르고 확장 가능한 작업을 위해 데이터 피드의 분산 스트리밍, 파이프 라이닝 미 재생을 위한 실시간 스트리밍 데이터를 처리하기 위한 목적으로 설계된 오픈 소스 분산형 Pub-Sub 구독 메시징 플랫폼(LinkedIn에서 개발) 📍 기존 데이터 시스템 시스템 복잡도 증가 통합된 전송 영역이 없어 데이터 흐름을 파악하기 어렵고, 시스템 관리가 어렵다. 특정 부분에서 장애 발생 시 조치 시간이 증가한다. -> 연결 되어있는 애플리케이션들을 모두 확인해야 하기 때문 HW 교체 / SW 업그레이드 시 관리포인트가 늘어나고, 작업시간이 증가한다. -> 연결된 애플리케이션에 side effect가 없는지 확인해야 한다. 데이터 파이프라인 관리의 어려움 각 애플리케이션과 데이터 시스템 간의 ..
윈도우에서 Kafka 설치 및 실행 📌 Kafka 설치 및 실행 1. kafka 다운로드(https://kafka.apache.org/downloads) 2. 압축해제 git bash을 켜고 명령어 입력 tar -xvzf kafka_2.12-3.6.0.tgz 3. zookeeper 실행하기 cmd창 디렉토리 이동 후 명령어 입력 (C:\kafka_2.12-3.6.0\bin\windows) zookeeper-server-start.bat ../../config/zookeeper.properties 4. kafka 실행 새로운 cmd창 디렉토리 이동 후 명령어 입력 (C:\kafka_2.12-3.6.0\bin\windows) kafka-server-start.bat ../../config/server.properties 테스트 해보기 5. t..
성능 향상을 위한 메시지 큐 도입 📌 성능 향상을 위한 메시지 큐 도입 JMeter 테스트에 대한 1차 목표를 현재 Error 발생률 : 57.7% 1차 목표 : Error 발생률 0% -> 시간이 얼마가 걸리든 상관없이 모든 유저가 응답을 받을 수 있도록 하려고 함. 으로 설정하였다. 📍 대기열 시스템이 필요한 이유 지금 서비스에서는 JMeter 테스트 시 시간도 오래걸리고 요청에 대해 모두 응답을 성공적으로 보내지 못한다. 서버가 한번에 처리할 수 있는 요청의 수가 제한적이기 때문이다. 서버에 동시에 과도한 요청이 들어올 경우, 서버는 이것들을 모두 처리하려고 하지만, 한번에 처리할 수 있는 요청의 수가 제한적이므로 일부 요청을 처리하지 못하는 문제가 발생한다. 따라서, 서버가 바로 처리하지 못하는 요청을 일시적으로 저장해두었다가 순..
WIL-2023/11월 (3) 2023.11.13. ~ 2023.11.19. ✍🏻이번주 목표 및 달성 여부 ✅ 기술면접 스터디 ✅ 커리어톤 참여하기 ✅ 프로그래머스 문제풀기 4. '행동대장' 성능 테스트 💡알게 된 점 총정리(TIL회고) 이번주에는 면접이 있기도 했고, 제대로 공부를 못했던 한 주 였다. 또, 면접을 보면서 부족한 점을 많이 느꼈던 것 같다. 무언가에 대해서 내가 누군가에게 설명할 수 있지 않으면 그건 모르는 것이라는 걸 많이 느꼈다. 뭔지는 다 아는 것들도 막상 누군가에게 설명하려고 하니 어려웠다. 질문을 받았을 때도 '아 그거 아는건데!!'하고 머리로는 어떤 것들인지는 알지만, 입밖으로 말하려니 하나도 정리가 되지 않아서 결국 '모르겠습니다'라고 하였었다. 그래서 너무너무 아쉬웠다ㅠㅠ물론 긴장해서 생각이 잘 나지않..
TIL-231118([프로그래머스/자바] 간단한 식 계산하기) 📝오늘 공부한 것 프로그래머스 문제풀기 📌 문제 📌 풀이 class Solution { public int solution(String binomial) { int answer = 0; String[] str = binomial.split(" "); int a = Integer.parseInt(str[0]); int b = Integer.parseInt(str[2]); if(str[1].equals("+")){ answer = a + b; } else if (str[1].equals("-")) { answer = a - b; } else { answer = a * b; } return answer; } } 1. "a op b" 형태의 이항식이 공백을 기준으로 나뉘어져 있다. 2. 공백을 기준으로 문자열을..
TIL-231117(JPA N+1 문제) 📝오늘 공부한 것 'N+1 문제' 공부하기 커리어톤 참여 프로그래머스 문제풀기 📌 N + 1 며칠전봤던 면접에서 N+1문제에 관해서 여쭤보셨다. 그런데 N+1이 내가 원했던 만큼의 쿼리 조회보다 N번 더 발생하는 것이라는 것만 알고, 정확히는 알지못해서 면접 때 대답하지 못했었다ㅠㅠ(내가 알고 있는것에 확신이 없어서 아예 '잘 모르겠습니다'라고 대답하였다. N+1도 공부하려고 했던 것들 중에 하나였는데, 늦었지만 오늘이라도 정리를 해보려고 한다!! 연관관계에서 발생하는 이슈로 연관관계가 설정된 엔티티를 조회할 경우에 조회된 데이터 갯수(n)만큼 연관관계의 조회 쿼리가 추가로 발생하여 데이터를 읽어오게 된다. -> 1번 조회해야 할 것을 N개 종류의 데이터 각각을 추가로 조회하게 되서 총 N+1번 DB 조..