You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
리뷰 생성 / 수정 / 삭제에 대한 음식점 정보 수정 로직을 비동기 이벤트로 전환하게 됨(#116)에 따라 리뷰에 대한 로직은 성공하지만 음식점에 대한 로직은 실패하는 경우가 발생할 수 있다. 이 경우 데이터의 정합성이 맞지 않게 되므로 데이터의 정합성을 맞추는 처리가 필요하다.
주기적으로 정합성을 맞추는 쿼리를 작성할 수는 있으나, 이 경우 모든 레코드에 대해 수정 쿼리를 실행해야 하므로 시간이 오래 걸리는 것이 부담이 된다. 따라서 실패한 이벤트에 대해서만 다시 재처리 해주는 것이 바람직하다.
이벤트리스너에서 이벤트가 실패할 경우, 데이터베이스에 실패한 이벤트에 대해 저장하고 스케줄러를 통해 주기적으로 실패한 이벤트를 실행하는 로직을 추가하여 정합성 문제를 해결할 수 있다.
이번 이슈에서는 이벤트 실패에 대한 처리 로직은 고려하지 않고, 실패한 이벤트를 어떤 방법으로든 재처리 할 수 있도록 이벤트의 정보를 담아 데이터베이스에 저장해두는 로직을 작성한다. 추후 스케줄러 + 배치를 통해 처리할 수도, 실패 이벤트 리스트를 확인하여 수동으로 데이터베이스를 통해 처리할 수도 있도록 할 수 있다.
The text was updated successfully, but these errors were encountered:
리뷰 생성 / 수정 / 삭제에 대한 음식점 정보 수정 로직을 비동기 이벤트로 전환하게 됨(#116)에 따라 리뷰에 대한 로직은 성공하지만 음식점에 대한 로직은 실패하는 경우가 발생할 수 있다. 이 경우 데이터의 정합성이 맞지 않게 되므로 데이터의 정합성을 맞추는 처리가 필요하다.
주기적으로 정합성을 맞추는 쿼리를 작성할 수는 있으나, 이 경우 모든 레코드에 대해 수정 쿼리를 실행해야 하므로 시간이 오래 걸리는 것이 부담이 된다. 따라서 실패한 이벤트에 대해서만 다시 재처리 해주는 것이 바람직하다.
이벤트리스너에서 이벤트가 실패할 경우, 데이터베이스에 실패한 이벤트에 대해 저장하고 스케줄러를 통해 주기적으로 실패한 이벤트를 실행하는 로직을 추가하여 정합성 문제를 해결할 수 있다.
이번 이슈에서는 이벤트 실패에 대한 처리 로직은 고려하지 않고, 실패한 이벤트를 어떤 방법으로든 재처리 할 수 있도록 이벤트의 정보를 담아 데이터베이스에 저장해두는 로직을 작성한다. 추후 스케줄러 + 배치를 통해 처리할 수도, 실패 이벤트 리스트를 확인하여 수동으로 데이터베이스를 통해 처리할 수도 있도록 할 수 있다.
The text was updated successfully, but these errors were encountered: