kafka Kafka Connect 와 CDC 에 대해서 1.개요 CDC (Change Data Capture) 를 테스트 해보고자 MS SqlServer 내 테이블을 Debezium SqlServer Connector 로 Kafka Cluster 에 Topic 으로 변경 내역을 전송하는 "소스 커넥터" 를 구동 시키는 과정을 기록한다. CDC는 Source 데이터의 변경을 감지하고 Kafka Cluster 에 이벤트 레코드로 표현하는 방법이며, CDC 를 활용하면 다양한 Source 에서
java Kafka Streams, KTable-KStream Join 1. 개요 Stateful 한 처리를 해야 하는 상황에 Kafka 를 활용할 수 있는 방법으로 Kafka Streams 를 사용해보기로 했다. Stateful, Stateless 하다는 표현이 있는데 여기서 Stateless 하다는 것은 다른 데이터 없이 하나의 이벤트나 데이터로 해당 프로세스를 마감 가능하다는 의미이고, 반대로 Stateful 하다는 것은 이전의 여러 상태의 값들을 저장하고 있다가 이벤트나
java intellij, Code Convention 과 Formatter intellij 에서 Code Convention 을 적용하기 위한 설정을 기록한다. Code Convention 은 Naver 캠퍼스 핵데이 Java 코딩 컨벤션을 사용하기로 했다. 캠퍼스 핵데이 Java 코딩 컨벤션 1. Code Style, Formatter 설정 아래 주소의 naver-intellij-formatter.xml 를 다운로드 받아서 Import Scheme 에서 로드 한다. hackday-conventions-java/rule-config/naver-intellij-formatter.xml at master · naver/hackday-conventions-java캠퍼스
redis Docker Compose 로 Redis Cluster 구축하기 1. Redis 클러스터 환경 둘러보기 Redis Cluster 의 기본적인 구조는 아래와 같다. 상단에 클라이언트가 있고 최소 3개의 Node 가 존재하고 각 노드는 Master - Slave 구조를 가질 수 있으며, Master 가 죽을때 복제본을 가지고 있는 n개의 Slave 중 하나 가 Master 를 대체 하는 형태이다. TaskVibes: ADHD Simple Manage -
redis Redis, JSON vs MSGPACK 1. 개요 JVM 환경의 Webflux 서버에서 Redis 사용시 JSON 을 사용할때와 MessagePack 을 사용할때 어떤 점이 다른지 확인하고자 하며 아래와 같이 구현하고 벤치마크 하였다. 2. 구현 1) Dependency implementation 'org.msgpack:jackson-dataformat-msgpack:0.9.4' 2) Configure Java-based configuration 으로 ReactiveRedisTemplate 를 생성하는 메소드를 등록한다. Key 는 String 으로 직렬화하고
java Resilience4j, CircuitBreaker & TimeLimiter 적용에 대한 기록 Resillience4j 의 Circuit Breaker 와 Time Limiter 에 대한 기록을 남긴다. 1. 개요 일반적으로 서비스를 운영하다 보면 특정 이벤트나 시간대에 트래픽이 몰리는 경우가 있을 수 있고 부분적으로 DB 나 Cache 에 장애가 발생 할 수 있는 상황이 있다. 이런 경우 어플리케이션 레벨에서 대응 할 수 있는 PlanB 를 준비 할
mongodb Spring Boot, CRUD API 개발을 위한 Reactive MongoDB 연동 Spring Boot 기반으로 Reactive MongoDB 를 사용하여 CRUD API 를 개발하기 위한 기록을 남기도록 한다.
kafka Spring Boot, Reactor Kafka 에서의 순서보장과 중복방지에 대한 기록 (feat. redis) Spring Boot, Reactor Kafka 에서의 순서보장과 Redis 를 이용한 중복방지에 대한 기록
kafka Spring Boot, WebFlux 에서 Reactor Kafka 기본 연동구현 Spring Boot, WebFlux 환경에서 Reactive Kafka 를 이용해서 Producer 와 Consumer 를 구성한 기록을 남긴다.
java Spring Boot, WebClient 짧은 사용기 SpringBoot WebClient은 Spring 5.0에서 도입된 Reactive HTTP 클라이언트이다. RestTemplate의 대안으로, HTTP 요청을 보내기 위한 간단하고 직관적인 API를 제공하고 있다. 이 기록은 WebFlux 를 학습해가는 입장에서 BFF 를 구현한다는 가정하에 Member, Banner 의 목록을 제공하는 API 를 호출해서 하나의 API 로 묶어 FrontEnd 를 위한 API 를 작성 하는 것을
java Spring Boot, WebFlux 에서 Reactive Redis Sorted Set 연동 Spring Boot WebFlux 를 학습하면서 Redis 의 Sorted Set 을 연동한 경험을 기록으로 남겨둔다.
java Spring Boot, CRUD API 개발을 위한 기록 (WebFlux 아키텍처 구성과 API) Spring Boot 기반으로 WebFlux, CRUD API 를 개발하기 위한 기록을 남기도록 한다.
benchmark FastAPI (Python) vs Fiber (Go) vs Spring Webflux (Java) FastAPI (Python), Fiber (Go), Spring Webflux (Java) 각 언어별로 동일한 기능을 구현하고 각 언어의 스레드 관리와 이벤트처리에 대한 성능을 비교하고 싶었다. 그러기에 초당 몇건의 요청을 얼마나 안정적이고 빠르게 응답 하는지를 벤치마킹 해보았다.
java Spring Boot, CRUD API 개발을 위한 기록 -2- (MVC 아키텍처 구성과 API) Spring Boot의 기본적인 MVC 아키텍쳐와 흐름에 대해 알아보고 간단한 API 를 구현 해보기로 한다.
java Spring Boot, CRUD API 개발을 위한 기록 -1- (MVC 프로젝트 생성과 의존성) 본격적인 프로젝트를 시작하기 앞서 "프로젝트 생성과 의존성"에 대해 정리를 한다.