본문 바로가기
SMALL

JPA4

Event가 동작할 것만 같지? - 잔여 이벤트 처리하기 Event가 동작할 것만 같지? - Spring Event와 Domain Event 최근 팀에서 기술공유 목적의 세미나(?)를 진행했다. 사실 간단히 내용 공유 목적이었지만, 준비하다보니 할 이야기들이 많아서 발표자료까지 만들게 되버렸다! 그때 준비하면서 고민했던 내용 ramka-devstory.tistory.com 지난 포스트에서 Domain Event를 구현한 AbstractAggregateRoot의 동작과정에 대해서 알아보았다. Domain Event를 발행하는 것 역시 Spring Event를 사용하고 있었고, 여전히 부자연스러운 save 로직을 사용하여 이벤트를 발행하는 문제점이 해소되지 않았다. 이번엔 이를 해소하고자 시도했던 것들을 다뤄보고자 한다. 부자연스러운 행위를 없애자 팀원들과의 코드.. 2023. 5. 1.
Event가 동작할 것만 같지? - Spring Event와 Domain Event 최근 팀에서 기술공유 목적의 세미나(?)를 진행했다. 사실 간단히 내용 공유 목적이었지만, 준비하다보니 할 이야기들이 많아서 발표자료까지 만들게 되버렸다! 그때 준비하면서 고민했던 내용과 실제로 적용한 내용을 회고 해보려 한다. 문제 상황 우리는 Spring에서 제공하는 ApplicationEventPublisher와 Spring Data 에서 제공해주는 Domain Event를 사용하고 있다. 서비스간의 의존성을 줄이기 위해서 사용하기 위해서 꽤나 많은 로직에서 사용중인 모습을 볼 수 있었는데, 여기서 문제가 되었던 건, AbstractAggregateRoot의 registerEvent() 였다. 현재 업무로 운영/유지보수를 하고 있는 나로써는 계속해서 이와 같은 반복적으로 발생하는 이슈들을 분석해보.. 2023. 5. 1.
SnowFlake 적용기 - 구현 해보자 지난 글(SnowFlake 적용기 - Unique한 값)에서는 SnowFlake를 조사하게 된 계기(?)를 이야기 했다. 이번에는 실제로 적용해보자. Twitter의 GitHub에 실제 채번을 위한 코드가 있지만, 이는 Scala로 작성되어 있었다. GitHub - callicoder/java-snowflake: Distributed Unique ID Generator in Java inspired by Twitter Snowflake Distributed Unique ID Generator in Java inspired by Twitter Snowflake - GitHub - callicoder/java-snowflake: Distributed Unique ID Generator in Java .. 2023. 1. 7.
SnowFlake 적용기 - Unique한 값 어떤 프로젝트를 진행하던 지금까지 DB의 PK에 대해서 생각해본적은 없었다. 왜냐하면 JPA에 설정해준 전략에 따라서 자동으로 생생해주었고, 항상 유니크한 값을 가지고 있다고 생각했기 때문이다. 하지만 서비스가 커질 수록, 트래픽도 많아지고 분산처리를 해야할 일도 생긴다. 이 말을 들을때도 별로 와닿지는 않았었다. 사실 그만큼의 서비스를 경험해본적도 없고.... 어쨌든! 이러한 요구사항이 생겼다. "기간제로 사용중인 서비스의 이용자의 이용빈도가 적고 사용하지 않기 때문에, 해당 이용자는 데이터 이관을 통해 다른 장비에서 모아서 관리하도록 해야한다." 계속해서 잘 사용하는 이용자에게 좀 더 원할한 서비스... 이를테면 처리도 빠르고 성능도 좋은 그런 서비스를 제공해야하기에 장비의 스펙도 올라가게 되는데, .. 2023. 1. 7.
LIST