CS (24) 썸네일형 리스트형 Kafka 알아보기 Kafka 알아보기 Kafka란?성능과 기능이 좋은 큐라고 할 수 있다. 주로 대량의 이벤트 스트림 데이터를 처리하고 여러 시스템 간에 데이터를 신속하게 전송하는 데 사용된다. Kafka의 주요 특징고성능: 초당 수백만 개의 메시지 처리 가능확장성: 클러스터 형태로 노드를 추가하여 쉽게 확장 가능내결함성: 노드 장애 시 자동 복구 가능비동기 처리: 메시지를 보내고, 나중에 원하는 시점에서 처리 가능이벤트 기반 아키텍처 지원: 마이크로서비스 간 메시지 교환 가능Kafka의 핵심 구성 요소📌 Producer 데이터를 생성하고 Kafka에 전송하는 역할특정 Topic에 메시지를 보내며, 파티션을 지정 가능프로덕션 중에 키를 보내는 것은 필수 X 📌 Broker Kafka 서버로서 Producer가 보낸 메.. 캐시란 무엇인가 캐시란 무엇인가 캐시란?데이터를 임시로 저장하는 공간 또는 저장된 데이터, 즉 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 저장소입니다. 일반적으로 캐시는 메모리에 저장되기 때문에 데이터베이스 보다 훨씬 빠르게 데이터를 전송할 수 있어 데이터 요청 시 빠르게 서비스를 제공할 수 있습니다.웹 캐싱은 사이트 방문자의 경험을 향상시키는 가장 효과적인 방법으로 특정 규칙에 따라 재사용 가능한 HTTP 응답을 저장하여 이후의 요청을 더 빠르게 처리하는 기술로 동일한 요청이 발생할 경우 원본 서버까지 가지 않고 더 가까운 위치에서 응답을 제공할 수 있습니다. 해당 방식을 통해 애플리케이션 캐시 및 메모리 캐시는 특정 응답 속도를 높이고 네트워크 트래픽을 최소화하며 시스템의 응답성을 향상시키는 역할을 .. 동시성 제어 방식 알아보기 동시성 제어 방식 알아보기 동시성 문제는 왜 발생하는가?컴퓨터는 마치 여러 가지 일을 동시에 처리하는 것처럼 보이지만, 실제로는 한 번에 하나의 작업씩 순차적으로 처리하고 있습니다. 이 과정에서 동일한 데이터에 대해 여러 트랜잭션이 동시에 접근하거나 수정하려고 시도하면, 데이터의 정합성에 문제가 발생할 수 있습니다. 예를 들어, 두 트랜잭션이 동시에 같은 데이터를 읽고, 각각 수정한 뒤 저장하려고 하면, 한쪽의 수정 내용이 덮어씌워지거나 의도치 않은 값이 저장될 위험이 있습니다. 이러한 동시성 문제는 데이터 일관성을 위협하며 시스템의 안정성과 신뢰성을 저하시킬 수 있습니다.이러한 이슈를 해결하기 위해 낙관적 락, 비관적 락, 레디스 등 다양한 방법으로 동시성을 해결하고 있습니다. 각각의 방법은 장단점.. TDD 방법론 알아보기 TDD 방법론 알아보기 TDD란?TDD는 Test-Driven-Develpoment란 말을 줄인 말로 테스트 주도 개발이란 뜻이다. TDD의 기본 방법을 간단히 설명하자면 테스트가 실패한 것을 확인한 후에는 해당 메서드에 코딩을 시작하여 테스트가 기능하도록 만드는 것이다. 한마디로 일부로 실패하여 코드를 계속해서 다듬어 나가는 것이라고 생각한다. Test Fail - Red :구현할 기능에 대한 테스트를 먼저 작성합니다.이때, 테스트는 아직 통과하지 못합니다(코드가 없기 때문)."Red"는 실패 상태를 나타냅니다.Green (코드 작성 및 테스트 통과):테스트가 통과하도록 최소한의 코드를 작성합니다.목표는 테스트를 통과시키는 것이며, 코드의 품질보다는 동작에 집중합니다.Refactor (코드 개선):테.. Redis 기초 Redis 기초 Redis란?(Remote Dictionaty Server)Redis는 오픈 소스 인메모리 데이터 구조 저장소로, 주로 데이터베이스, 캐시, 메시지 브로커로 사용됩니다. 성능이 뛰어나고 다양한 데이터 구조를 지원하여 여러 가지 용도로 활용됩니다. Redis는 In-memory Databaes로 Key-Value구성을 가지고 있습니다. 또한 다양한 데이터 구조를 지원합니다. Redis Opne Sourcehttps://github.com/redis RedisRedis has 42 repositories available. Follow their code on GitHub.github.com Redis의 특징빠른 반응속도(Milliseconde Response)를 통한 응답높은 가용성.. Spring Bean 알아보기 Spring Bean 알아보기 Spring Bean이란?Bean은 Spring Container에 의해 관리되는 객체로 Spring 애플리케이션의 핵심 구성 요소로 사용된다. Spring Bean을 알아보기 이전에 Bean이 등록되는 Spring Container는 세트라고 생각하고 공부하는 것이 개념이 이어져서 같이 알아보도록 하자 Spring Container란?Spring Container는 생성된 Bean을 가지고 있는 통이라고 생각하면 쉽다. 아래 Container 생성부터 사용되는 방법을 확인해 보자. Spring Container 생성 (Java코드)ApplicationContext applicationContext =new AnnotationConfigApplicationContext(A.. DataSource 알아보기 DataSource 알아보기 DataSource란? DataSource는 커넥션을 회득하는 방법을 추상화하는 인터페이스로 DBCP2 커넥션 풀, HikariCP 커넥션 풀 등 다양한 커넥션 풀 방법이 있을 때 커넥션을 회득하는 방법을 변경하는 작업을 최소화하기 위해서 사용된다. 어떤 커넥션이든 연결하는 부분만을 추상화 후 원하는 구현방법을 개발자가 구현체를 통해서 코드를 직접적으로 의존하는 것이 아니라 DataSource 인터페이스에 의존하도록 하여 DB와 연결하는 방법이 더 효율적이다. 위 그림과 같이 DBCP2 커넥션 풀을 사용하다가 HikariCP 커넥션 풀을 사용하려고 할 때 DataSource의 해당 구현체로 변경 작업을 진행하면 간단히 커넥션 풀을 변경할 수 있다. 단, DriverManage.. Connection Pool 이해하기 Connection Pool 이해하기 Connection Pool이란? Connection Pool을 알아보기 이전에 Connection Pool이 등장하게 된 이유부터 알아보자! 애플리케이션은 DB에 접근하기 위해서 커넥션을 얻어야지만 DB와 통신을 할 수 있다. (Connection 대한 내용은 아래 링크에서 확인) 2024.03.22 - [CS/데이터베이스] - JDBC 알아보기 JDBC 알아보기 JDBC 알아보기 JDBC란? JDBC를 알아보기 전 JDBC가 왜 생겼는지에 대해서 먼저 이야기를 해보자면 과거 애플리케이션 서버와 DB를 연결하기 위해서 가각의 DB마다 사용법이 달랐다. 이런 문제로 개발 yukang-laboratory.tistory.com 위 내용을 보고 왔으면 Connection이.. 이전 1 2 3 다음 목록 더보기