티스토리챌린지 7

안녕? kafaka 너는 누구니

Apache Kafka는 인프라 도구이자 분산 스트리밍 플랫폼으로, 개발 언어는 아닙니다.Kafka는 주로 대용량의 실시간 데이터 스트리밍, 메시지 큐 및 이벤트 기반 시스템을 구축하는 데 사용되는 인프라 솔루션입니다.Kafka는 Java로 개발되었지만, 언어 자체는 아니며, 다양한 프로그래밍 언어와의 통합을 지원하는 클라이언트 라이브러리가 제공됩니다. 즉, Kafka는 특정 프로그래밍 언어에 종속되지 않으며, 여러 언어에서 Kafka를 사용할 수 있도록 클라이언트 API를 제공합니다.Kafka는 메시지 큐(MQ)나 이벤트 스트리밍 시스템으로 자주 사용되며, 주로 실시간 데이터 파이프라인과 데이터 스트리밍 애플리케이션을 구축하는 데 사용됩니다.Kafka는 무엇인가?Kafka는 분산 메시징 시스템으로, 다..

인프라/Kafaka 2024.11.27

Redis Stored set 정의

Redis의 자료형 주 stored set을 사용하여 대기열 시스템을 만들어 보려고 한다.그전에 정의에 대해 알아보고 어떻게 사용해야하는지 학습해보고 진행하려고 한다. Redis의 Sorted Set (정렬된 집합) 자료 구조에서 rank는 각 요소의 순위를 의미합니다. Redis의 Sorted Set은 각 요소에 점수(score)를 할당하여 자동으로 정렬되며, 이 점수를 기준으로 순위(rank)가 매겨집니다. 순위는 점수의 오름차순 또는 내림차순으로 정렬되기 때문에, 특정 요소의 rank를 알고 싶을 때 그 요소가 정렬된 순서에서 어느 위치에 있는지 확인할 수 있습니다.Sorted Set과 Rank 개념Sorted Set: Sorted Set은 각 요소가 유일한 값과 그에 대응하는 점수를 가집니다. 점..

인프라/REDIS 2024.11.25

Redis Session store

Jedis는 Java에서 Redis를 사용하는 클라이언트 라이브러리입니다. Jedis를 사용하여 세션을 Redis에 저장하면, 분산 환경에서도 세션 데이터를 효율적으로 관리할 수 있습니다. Redis의 빠른 성능을 활용하여 세션 데이터의 읽기/쓰기 성능을 극대화할 수 있습니다.이제 Jedis와 Spring 또는 서블릿 컨테이너와 함께 Redis를 세션 저장소로 사용하는 방법을 예시로 설명하겠습니다.1. Jedis 라이브러리 설치Jedis를 사용하려면 먼저 Maven 프로젝트에 Jedis 의존성을 추가해야 합니다. pom.xml에 다음과 같이 의존성을 추가하세요:xmldependency>    groupId>redis.clientsgroupId>    artifactId>jedisartifactId>   ..

인프라/REDIS 2024.11.23

java 8의 orElseThrow 는 뭘까?

자바 17버전을 사용하면서 유투브 및 인터넷 강의를 공부하고 있는데 뭐 이상한 문법들이 많이 보여서 당황했다.-> 뭐 이런것들은 기존에 들었어서 당황했지만 skip 근데 계속 나오는 단어 중 orElseThrow라는 단어가 있어서 그냥 검색 해봤다..null처리에 대한 내용이었다.. 좋네... 상세 내용은 아래와 같다  orElseThrow()는 Java 8의 Optional 클래스에 포함된 메서드로, 값이 존재할 경우 해당 값을 반환하고, 값이 존재하지 않으면 예외를 던지는 기능을 합니다. 이 메서드는 Optional 객체가 비어 있을 때 예외를 처리하는 유용한 방법을 제공합니다.Optional 클래스와 orElseThrow()Optional은 값이 있을 수도 있고, 없을 수도 있는 값을 표현하기 위한..

개발언어 2024.11.22

Docker error : git bash에서 실행 에러

Docker 데스크탑을 설치하고 터미널을 보려고하는데 터미널이 너무 작다..그래서 윈도우 cmd 창으로도 해보고 git bash에서도 docker 명령어를 써봤다. 잘되긴 하는데 git bash에서 exec 명령어를 쓰니 다음과 같은 에러가 발생했다. the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty' 뭔소리야.. 뭐 여튼 안된데 내가 mintty로 뭘 했다벼 그냥 기본으로 깔았는데, 그래서 검색해보니까 그냥 앞에다가 winpty 붙여서 명령어 쓰면 된다고 한다.아니면 git bash 다시 설치하라고 한다 winpty 설정으로 바꿔서~ 시러~  winpty docker exec ----..

인프라/Docker 2024.11.21

Redis가 뭐지?

Redis는 인메모리 데이터 구조 저장소(In-memory Data Structure Store)로, 주로 데이터베이스, 캐시(Cache), 그리고 메시지 브로커로 사용된다. Redis는 데이터를 메모리에 저장하여 빠르게 접근할 수 있도록 하여, 디스크 기반의 데이터베이스보다 더 빠른 읽기/쓰기 성능을 제공한다.Redis의 특징과 사용되는 주요 용도를 아래와 같다.1. 인메모리 데이터베이스Redis는 모든 데이터를 메모리에 저장합니다. 따라서 디스크 I/O 없이 메모리에서 직접 데이터를 읽고 쓰므로 매우 빠르다데이터가 메모리에 저장되기 때문에, 빠른 속도가 필요한 애플리케이션에서 자주 사용된다.2. 데이터 구조Redis는 단순한 키-값(Key-Value) 저장소 이상의 기능을 제공합니다. 다양한 데이터 ..

인프라/REDIS 2024.11.20

톰캣과 Docker(도커)의 차이

예약 대기열 미니프로젝트를 한번 해볼가 하다가 컨테이너라는 개념에 접근하게 되었고,Docker 라는 개념도 접근하고 이런게 다 뭐야?로 시작하게 되었다. 그냥 눈으로만 읽고 메모장에 끄적이면 시간이 지났을 때 다시 읽어보기 힘들어 인터넷 서칭한 시간도 공부의 일부니정리를 해두려고 한다. 지금까지 Docker의 개념은 사용하지 않고 단순 톰캣 기반으로만 개발 업무를 하고 있었는데, 이 둘의 차이점이 일단 가장 궁금해서 시작해볼가 한다. 톰캣(Tomcat)과 Docker는 각각 다른 목적을 가진 기술로, 아래에서 톰캣과 Docker의 차이점을 적어볼가 한다.1. 기능 및 역할톰캣 (Tomcat):웹 서버 및 서블릿 컨테이너주로 Java 기반의 웹 애플리케이션을 호스팅하고 서비스하는 데 사용된다.Docker:..

인프라/Docker 2024.11.20