글또
-
Spring kafka에서 Multi Type Converter 여행기글또 2023. 9. 25. 22:50
안녕하세요.이번 글은 spring kafka에 대한 글입니다. kafka consumer를 구현하다가 이벤트의 페이로드가 제각각인 이벤트를 만나게 되어서 이를 spring consumer에서는 어떻게 받을 수 있나. 또 받을 수 있는 여러 가지 방법들을 소개하고자 합니다. Introkafka는 하나의 토픽 안에 여러 이벤트를 넣을 수 있습니다. 이를 spring kafka consumer에서 받을 때에는 적절하게 구현체를 찾도록 해줘야 합니다. 이를 가능하게 해주는 것이 Deserializer와 messageConverter입니다.먼저 consumer의 동작을 보면 다음과 같습니다. Consumer의 동작 순서1. dopoll을 따라가면 deserializer가 실행되고 converter는 invokeI..
-
스프링 카프카 리트라이 정책 정하기글또 2023. 8. 8. 23:12
0. 들어가며 안녕하세요. 이번에는 스프링 카프카에서의 리트라이 정책을 설정하는 과정을 공유하려고 합니다. 저희 시스템에서 프로듀서와 컨슈머의 리트라이 정책은 다음과 같이 설정했습니다. 프로듀서: 서비스 요구에 따라 Kafka Reties 설정에 의존하거나, 이벤트 발행 실패 시 여러 번 재시도한 후 실패하면 개발자에게 알림을 보내고, 이벤트를 저장하여 유실을 방지한다.컨슈머: 이벤트 소비에 실패할 경우, 해당 이벤트를 DLT(Dead Letter Topic)에 저장하도록 한다. 프로듀서의 Retry컨슈머의 Retry마무리 1. 프로듀서의 Retry언제 프로듀서가 메시지 발행을 실패할까요.리더가 없어 리더 선출 중일 때: 리더 선출이 완료되지 않은 상태에서는 메시지 발행이 실패할 수 있습니다.ACK..
-
글또 8기 회고글또 2023. 7. 15. 12:10
안녕하세요. 벌써 글또 8기 마지막 글이 되었습니다. 1월에 시작했던게 어제 같은데 시간이 정말 빠르네요. 이번 글은 글또 8기 마지막 글로 6개월을 돌아보고자 합니다. 좋았던 점 글또 7기에 이어 8기를 참여하게 되었습니다. 공부글을 쓰면서 좋은 영향이 었었고 이번에도 이어가 보고자 했었습니다. 또 7기 때 글또를 참여하는 다른 분들의 글을 보면서 단순히 글을 쓰는 것을 넘어서 잘 쓰고 싶은 마음도 생겼습니다. 타인의 글들을 보면서 많이 배우려고도 했고 또 많이 배웠습니다. 이런 마음가짐이 모든 글에 녹아들게 하려고 노력을 했습니다. 덕분에 여러 글을 쓰게 되고 아는 범위가 조금이나마 늘어서 좋게 생각합니다. 글 한편으로는 지식을 완벽히 채울 수는 없지만 나름대로 계속해서 지식에 관해 공부를 하고 있구..
-
오픈소스 기여해보기글또 2023. 6. 18. 23:12
안녕하세요. 이번에는 오픈소스에 기여해 본 이야기를 써보고자 합니다. 먼저 요즘 저는 파이썬으로 조그마한 프로그램들을 만들곤 합니다. 제가 사용하거나 외부에 배포용으로 만들고 있는데요. 사람이 조금씩 하다 보면 더 잘하고 싶은 마음도 생기고 해서 디자인을 이쁘게 하고 있습니다. 근데 파이썬 디자인이 굉장히 불편하고 쉽지 않았습니다. 이쁘게 해보고자 했지만 결과물이 이쁘지 않은 그런 것이지요. 디자인을 어떻게 이쁘게 할까 하다가 좋은 툴을 찾았습니다. GitHub - ParthJadhav/Tkinter-Designer: An easy and fast way to create a Python GUI 🐍 An easy and fast way to create a Python GUI 🐍. Contribute t..
-
-
메시지 플랫폼 무엇이 좋을까글또 2023. 5. 29. 23:51
안녕하세요. 이번에는 프로젝트에서 메시지 플랫폼을 선택했던 과정에 대해 써보도록 하겠습니다. 먼저 프로젝트는 마이크로 서비스 아키텍처를 사용하고 있습니다.각 서비스는 각자의 관심사에 맞게 분리되어 있습니다.그렇다 보니 다른 서비스와 연동을 하는 일이 왕왕 있습니다. 상품을 판매하는 서비스는 상품의 재고를 관리하는 서비스와 연동이 되어야 하듯이요. 이때 저희는 이벤트 방식과 API방식을 필요에 따라 적절한 곳에 사용하고 있습니다.각자의 목적에 맞게 사용되는 곳이 다르기에 뭐가 더 좋다는 것이 아닙니다. 비교이벤트의 장점은 서비스 간의 의존성을 분리할 수 있습니다. 의존성이 분리되면 타 서비스의 간섭이 줄어들고 코드가 변경되어야 하는 이유가 줄어들게 됩니다. API를 사용했을 때는 성공/실패 여부를 사용자가..
-
제로페이로드글또 2023. 3. 25. 23:40
안녕하세요. 이번 글은 이벤트 관련해서 글을 써보고자 합니다. 주제는 밑의 내용 중 제로페이로드의 관한 내용이 있길래 공감되어서 쓰게 되었습니다. 회원시스템 이벤트기반 아키텍처 구축하기 | 우아한형제들 기술블로그 {{item.name}} 최초의 배달의민족은 하나의 프로젝트로 만들어졌습니다. 배달의민족의 주문수는 J 커브를 그리는 빠른 속도로 성장했고, 주문수가 커지면서 자연스럽게 트래픽 또한 매우 커졌습니 techblog.woowahan.com zero-payload란 요청의 본문 payload 부분이 없다는 것을 의미합니다. 해당 방식은 모니터링, 하트비트 등에서 사용됩니다. 데이터 전송량을 줄이고, 네트워크 대역폭을 절약하면서도 지속적인 모니터링이 가능하다는 장점이 있습니다. MSA에 도입 B서비스가..