-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[YS-155] refact: 예외 핸들링 로직 수정 및 500 에러 디스코드 웹훅 알림 추가 #37
Conversation
interface AlertGateway { | ||
fun sendError(e: Exception, request: HttpServletRequest) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
현재 디스코드를 사용하지만, 향후 슬랙과 같은 다른 커뮤니케이션 도구로 변경할 가능성을 고려하여 AlertGateway
라는 범용적인 이름을 사용했습니다.
클린 아키텍처 원칙을 따르며, 알림 기능을 추상화함으로써 특정 서비스에 의존하지 않도록 했습니다. 이렇게 하면 다른 알림 서비스로 쉽게 교체할 수 있는 유연성을 확보할 수 있다고 생각합니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오호 서버 health check 용도로 즉각적으로 알람이 가도록 설계하셔서, 정말 좋은 것 같습니다!
서버 측에서 즉각 대응이 가능할 것 같아요 💪💪
많이 배워갑니다!
나중에 만약에 정말 많은 MAU를 확보하면, 별도의 모니터링 서버를 두어서 trigger하는 방법도 있다고 생각해요! (이건 아~~주 먼 미래의 이야기일 것 같지만요😅)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋습니다! 현재 FeignClient 등의 외부 API 통신과 연결된 Gateway 인터페이스 쪽은 지수님의 설계처럼 좀 더 범용적인 네이밍을 할 필요가 있는 것 같아요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
별도의 모니터링 서버를 두어도 좋을 만큼의 MAU가 확보된다면, 트리거 기반의 방식은 효율적이고 확장성 있는 접근법이 될 것 같네요! 👍
|
interface AlertGateway { | ||
fun sendError(e: Exception, request: HttpServletRequest) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오호 서버 health check 용도로 즉각적으로 알람이 가도록 설계하셔서, 정말 좋은 것 같습니다!
서버 측에서 즉각 대응이 가능할 것 같아요 💪💪
많이 배워갑니다!
나중에 만약에 정말 많은 MAU를 확보하면, 별도의 모니터링 서버를 두어서 trigger하는 방법도 있다고 생각해요! (이건 아~~주 먼 미래의 이야기일 것 같지만요😅)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
500 에러에 대한 handler 처리가 깔끔하고 좋았어요! 서버에 로그를 찍음으로써 에러의 원인을 좀 더 용이하게 파악할 수 있을 것 같아요! :D!!
interface AlertGateway { | ||
fun sendError(e: Exception, request: HttpServletRequest) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋습니다! 현재 FeignClient 등의 외부 API 통신과 연결된 Gateway 인터페이스 쪽은 지수님의 설계처럼 좀 더 범용적인 네이밍을 할 필요가 있는 것 같아요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM !! 수고하셨습니다 💪💪
* feat: implement Discord error alarm notification feature * refact: delete unused file * chore: add discord env * chore: add discord env in test yml * refact: rename request dto name * style: delete unused import
💡 작업 내용
INTERNAL_SERVER_ERROR(500)
가 나도록 수정로컬에서 테스트했을 때
![image](https://private-user-images.githubusercontent.com/69844138/404192381-b601e5ca-6ac6-4045-bef5-22923e7b96fa.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NzA5NTQsIm5iZiI6MTczOTQ3MDY1NCwicGF0aCI6Ii82OTg0NDEzOC80MDQxOTIzODEtYjYwMWU1Y2EtNmFjNi00MDQ1LWJlZjUtMjI5MjNlN2I5NmZhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE4MTczNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU5NThmOTMzZjcxNDI5ZTZlZTA1ZDIwMWViYjNhMWI4NDg5OTUxY2MxODBlZDQwN2QyZDI1YmE4MzgyNGZiYzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.AD8XAQa8pI2Grf9nH7fLhnRD-JIu3ZVs970cLEbybVY)
✅ 셀프 체크리스트
🙋🏻 확인해주세요
🔗 Jira 티켓
https://yappsocks.atlassian.net/browse/YS-155