본문 바로가기

전체 글846

실시간 주문 알림 도입기(서버 to 클라이언트) 대부분의 사람이 음식점에서 밥을 먹고있을 때, 매장 스피커로 '배달의 민족 주문~' 이라는 소리를 들어봤을 것이다.위와 비슷하게 주문이 발생할경우 소리가 발생하게 해달라는 실시간 주문 알림이라는 요구사항이 들어와 구현을 담당하게 됐다. 웹 어드민성 페이지에서 마트 관계자들이 간단하게 주문, 상품들을 관리할 수 있는 웹 플랫폼이 존재한다.마트 관계자는 항상 해당 페이지를 보고 있기 때문에, 여기다 해당 기능을 구현하기로 결정하였다. 서버 to 클라이언트 통신 방식이 여러가지 있는 것을 알게되었고, 각 방식의 장단점을 먼저 분석해봤다. Polling클라이언트가 서버로 http request를 계속 보내 이벤트 내용을 전달받는 방식대충 이런 흐름이다.1. 클라이언트 요청2. 서버에 이벤트가 발생했나 확인3. .. 2024. 7. 27.
[책 후기] 자바/스프링 개발자를 위한 실용주의 프로그래밍 https://product.kyobobook.co.kr/detail/S000213447953 자바/스프링 개발자를 위한 실용주의 프로그래밍 | 김우근 - 교보문고자바/스프링 개발자를 위한 실용주의 프로그래밍 | 소프트웨어 개발을 잘하고 싶다면 ‘개발’ 공부를 해야 합니다! 자바 개발자가 코틀린 같은 신생 언어를 다룰 수 있게 된다고 해서 개발을product.kyobobook.co.kr 최근에 나온 따끈따끈한 신책이다.해당 책을 읽으며 처음 '들어가기' 챕터 부터 뼈를 맞고 들어갔다.기술 vs 개발에 대해 설명해주며, 나는 개발보다 기술에 집착했다는 것을 깨달았다.보자마자 너무 재미있었다. 또한, 순차지향 vs 절차지향도 재밌던 것 같다. 처음 개발 공부를 했을 때 해당 책을 접했다면, 지름길이 됐을 것.. 2024. 7. 20.
Redis Cluster 환경에서 'DEL Collection'은 왜 안 될까? 레디스를 로그로 활용해 스케줄링으로 수집하는 로직을 만들 때 발생했던 이슈이다.사실 increase로 쉽게 개발할 수 있었는데, 그 땐 increase를 몰라서 선택지에 두지 않았다. 저장한 키는 prefix_datetime 이런 구조였다. datatime에 ms 단위까지 저장하기 때문에 거의 겹칠일이 없었고, 반드시 수집해야하는 로그도 아니여서 겹칠 수 있다는 상황 자체를 고려하지 않았다.쨋든, 스케줄링의 역할은 하루에 저장된 여러 개의 prefix_datetime 키가 몇개있는지 찾아와 저장하고, 삭제하는 방식이였다. (사실 삭제할 필요도 없었다. TTL을 걸었다면 .. 옛날의 나는 여기까지는 생각못했던 것 같다.) 로컬에서 prefix를 기준으로 키를 가져와 데이터 개수를 세고, 삭제한 후, 가져온.. 2024. 7. 20.
비즈니스 로직 분산 입사 초에 있던 일을 공유해보려고 한다. 우리 회사는 백로그 단위로 일을 하며, 각 분야별로 1명씩 붙는다. 예를 들어 1개의 백로그에 기획, 백엔드, 프론트엔드 이런 식으로 붙는다.입사 후 사수와 같이 계속 작업을 하다가, 어느 정도 적응을 하고 처음 혼자 맡게된 백로그였다. 개발해야 하는 백로그는 주문 지연 알림톡이라고, 주문이 20분 이상 지연될 경우 관계자들한테 일괄적으로 알림톡을 보내는 기능이였다.지금 다시 한다면 쉽게 구현이 가능하겠지만, 그 때는 경험이 없어서 어려웠던 것 같다. 주문은 새벽에 발생할 수도 있는데, 주문 알림톡이 새벽에 온다면 짜증나지 않을까? -> 그래서 시간 조건도 존재하였다.마트와 마트 관계자는 1:N 관계이다. 최종적으로 알림톡을 보내는 시간 조건은 마트의 운영 시간에.. 2024. 7. 13.
[책 후기] 마이크로서비스 아키텍처 구축 https://product.kyobobook.co.kr/detail/S000202596905 마이크로서비스 아키텍처 구축 | 샘 뉴먼 - 교보문고마이크로서비스 아키텍처 구축 | 마이크로서비스 기초부터 구현까지 사람과 조직을 고려한 실전 마이크로서비스 아키텍처 구축 가이드* 설계/아키텍처 분야 아마존 베스트셀러 * 마이크로서비product.kyobobook.co.kr 모놀리식 에서 마이크로서비스로 구축할 때 반드시 읽어야 하는 책같다.마이크로서비스 모델링부터, 통신 방식, 배포 등 전반적으로 MSA 도입 시 어떤 방향으로 가야하는지 가이드해준다.일단 해당 책을 읽으며 어느 정도 청사진은 찍은 것 같고, 나중에 마이크로서비스 아키텍처 구조를 사용하고 있는 회사에 들어가게 된다면 간단하게 다시 읽어볼 것 .. 2024. 7. 13.
[책 후기] 실전 카프카 개발부터 운영까지 https://product.kyobobook.co.kr/detail/S000001932756 실전 카프카 개발부터 운영까지 | 고승범 - 교보문고실전 카프카 개발부터 운영까지 | 아파치 카프카의 공동 창시자 준 라오(Jun Rao)가 추천한 책!국내 최초이자 유일한 컨플루언트 공인 아파치 카프카 강사(Confluent Certified Trainer for Apache Kafka)와 공product.kyobobook.co.kr 대표적인 메시지 큐인 카프카에 대해 원리 및 구조를 자세하게 설명해주는 책이다.카프카를 처음 접하는 만큼 용어에 대해 많이 헷갈렸는데, 해당 책을 통해 어느정도 정리된 것 같다. 해당 책을 먼저 읽은 이유는 과거에 읽었던 책인 '데이터 중심 애플리케이션 설계'에서 메시지 큐를 사.. 2024. 6. 29.