전체 글
-
Spring Kafka 적용하며 발생했었던 이슈 정리실무에서 알게된 내용 2022. 6. 2. 18:02
1. Consumer exception 문제 상황 : Consumer 동작을 테스트하기 위해 Kafka Cluster로 메시지를 수동으로 발행하고 있었다. 이때, 오타가 발생했고 이로 인해 사전에 약속된 형태(포맷)의 메시지가 아닌 다른 형태(포맷)의 메시지를 발행했다. 현상 : 계속해서 아래 에러 메시지가 올라왔다. (무한 반복) 에러 메시지 : This error handler cannot process 'SerializationException's directly; please consider configuring an 'ErrorHandlingDeserializer' in the value and/or key deserializer (아래 참고) 현상 이유 KafkaMessageListenerCo..
-
Redis를 이용한 동시성 제어실무에서 알게된 내용 2022. 5. 19. 09:28
1. 분산 락 (Distributed lock) 서로 다른 프로세스(또는 쓰레드)가 상호 배타적(mutually exclusive)인 방식으로 공유 자원을 처리해야 하는 환경에서 유용한 기술 2. 분산 락 구현 방법 (고려했던 선택지는 아래 3가지) DB 이용 Redis 이용 ZooKeeper 이용 선택 : Redis를 이용한 분산락 구현 why? 1. DB 이용 DB를 이용하여 분산락을 구현해도 되지만, 락을 잡기위해 간단한 락 정보를 저장하는 테이블을 만들어야 하는게 좋은 선택인지 의문이 들었음 또한, 락 정보는 영구적인 데이터가 아닌 휘발성 데이터에 더 가깝다고 생각하여 DB를 이용하는 것은 선택지에서 제외함 (하지만, 현재 Redis를 쓰고 있는 상황이 아닌데 빠른 시일 안에 구현해야하는 상황이라..
-
[카이젠 저니 - 14장] "문제는 없습니다."라고 말하는 문제카테고리 없음 2022. 4. 21. 02:27
내용 요약 데일리 스크럼에서 어제 한 일, 오늘 할 일을 무덤덤하게 이야기하고 마지막엔 "큰 문제는 없어요"라고 말하는 형태가 정형화돼 가고 있음. 정말 위험신호가 없는 것일까? 아님 발견하지 못하고 있는 것일까? 다양한 팀 빌딩 활동을 통해 각자 자율적으로 일할 수 있는 환경이 갖춰짐. 즉, 팀으로서의 숙련도가 올라간 덕분에 멤버 사이의 커뮤니케이션이 줄어들더라도 업무를 진행할 수 있는 상태가 됨 이는 다른 사람의 상황을 신경 쓰지 않고도 내 일을 할 수 있는 나쁜 환경을 만들기도 함. 왜냐하면, 팀에서 하는 일이 공유되지 않으면 정합성을 유지할 수 없을 뿐 아니라 다른 문제도 일어날 수 있기 때문 위험신호 정신적인 건강 상태가 신체적인 건강 상태로 이어짐. 그 반대의 경우도 마찬가지임. 그렇기 때문에..
-
[카이젠 저니 - 13장] 서로의 기대를 명확히 하다.카테고리 없음 2022. 4. 21. 01:40
내용 요약 이전 스프린트에서 완성한 제품 백로그 숫자가 굉장히 적었음. 이를 만회하고자 다음 스프린트에 앞서 작전 회의를 열게 됨 제품 백로그 아이템의 인수조건을 누가 정리할 것인지 결정하는 과정에서 의견(기대) 차이가 발생함 이를 위해 서로의 기대를 맞추기 위한 팀 빌딩 방법 중 하나인 드러커 엑서사이즈(The Drucker Exercise)를 수행함 드러커 엑서사이즈를 수행하기 위한 필수 조건 심리적으로 안전한 장소에서 대화를 진행해야 함 대화 중 상대를 비판하거나 부정하지 않음 드러커 엑서사이즈는 아래 4개의 질문을 통해 서로의 기대를 조정함 내가 잘하는 것은 무엇인가? 나는 어떻게 공헌할 것인가? 내가 중요하게 생각하는 가치는 무엇인가? 팀 멤버는 나에게 어떤 성과를 기대한다고 생각하는가? 위 4..
-
Spring Kafka 프로젝트 <Producer>카테고리 없음 2022. 3. 13. 10:20
아래 작성한 글은 Spring Kafka Reference 문서를 보며 스스로 학습한 내용을 토대로 작성한 글입니다. 따라서, 오류가 있을 수 있음을 먼저 말씀드립니다. 혹시, 오류를 발견하신다면 코멘트로 남겨주시면 수정하도록 하겠습니다. Kafka Client 2.6.0 버전 기준으로 작성되었습니다. 1. Spring Kafka 프로젝트 Spring Kafka프로젝트는 Spring에서 Apache Kafka를 쉽게 사용할 수 있도록 추상화하여 제공해주는 프로젝트다. 2. Spring 프로젝트에서 Kafka를 사용하기 위해 필요한 대표적인 구성요소 ProducerFactory : Producer( Kafka Topic에 데이터를 전송하는 역할 )를 만드는 역할 ConsumerFactory : Consum..