전체 글 (183) 썸네일형 리스트형 API Gateway & Spring Cloud Gateway 📌 API GatewayAPI Gateway는 API 클라이언트와 백엔드 서비스(서버에 위치) 사이의 중개자 역할을 하는 API Management 툴클라이언트 요청을 단일 진입점(게이트웨이)에서 처리하여 마이크로서비스와의 통신을 효율적으로 관리하는 역할-> 이를 통해 공통 로직 처리, 인증 및 인가, 라우팅, 부하 분산, 로깅, 캐싱 등의 기능을 중앙에서 관리할 수 있습니다. ✔ 주요기능인증 및 권한 부여서비스 검색 통합응답 캐싱정책, 회로 차단기 및 Qos 다시 시도속도 제한부하분산로깅, 추적, 상관 관계헤더, 쿼리 문자열 및 청구 변환IP 허용 목록에 추가 ✔ 역할API Gateway는 클라이언트와 서버 간 API 요청을 관리하는 게이트웨이 역할을 한다.클라이언트는 각 마이크로서비스의 엔드포인트 .. Spring Cloud Netflix Eureka 적용 📍 Spring Cloud Netflix Eureka마이크로서비스 아키텍처(MSA)에서 서비스 디스커버리(Service Discovery) 를 제공하는 도구마이크로서비스 간의 통신을 쉽게 하기 위한 서비스 레지스트리 (Service Registry) 역할 수행Netflix에서 배포한 오픈 소스Spring Cloud Eureka는 서비스 레지스트리와 서비스 디스커버리를 지원하는 라이브러리이며, Eureka Server와 Eureka Client로 구성됨모든 마이크로서비스는 Eureka Server에 자신을 등록하여 관리됨 1. Service Discovery 와 Service Registry 1-1) Service Discovery외부에서 다른 어떤 서비스들이 Microservice를 검색하기 위해서.. [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회고) 이번주에는 면접이 있기도 했고, 제대로 공부를 못했던 한 주 였다. 또, 면접을 보면서 부족한 점을 많이 느꼈던 것 같다. 무언가에 대해서 내가 누군가에게 설명할 수 있지 않으면 그건 모르는 것이라는 걸 많이 느꼈다. 뭔지는 다 아는 것들도 막상 누군가에게 설명하려고 하니 어려웠다. 질문을 받았을 때도 '아 그거 아는건데!!'하고 머리로는 어떤 것들인지는 알지만, 입밖으로 말하려니 하나도 정리가 되지 않아서 결국 '모르겠습니다'라고 하였었다. 그래서 너무너무 아쉬웠다ㅠㅠ물론 긴장해서 생각이 잘 나지않.. 이전 1 2 3 4 ··· 23 다음