백엔드#MySQL#트러블슈팅#DB
MySQL 크로스 DB JOIN에서 터지는 두 가지 폭탄
스케줄러가 2개 스키마(데이터베이스 안에서 테이블, 뷰 등을 논리적으로 묶어놓은 단위)의 테이블을 JOIN 해야 했다. 사용자 정보는 A 스키마, 활동 기록은 B 스키마.
11
개발하면서 배운 것들을 기록합니다.
스케줄러가 2개 스키마(데이터베이스 안에서 테이블, 뷰 등을 논리적으로 묶어놓은 단위)의 테이블을 JOIN 해야 했다. 사용자 정보는 A 스키마, 활동 기록은 B 스키마.
알림센터에 알림이 안 들어간다는 리포트가 왔다. 푸시는 받은 사용자가 있는데, 알림센터에는 아무것도 없는 사용자가 있다고.
에러 핸들러가 이상하게 동작했다. FCM 발송 실패 시 텔레그램으로 알림을 보내는 로직인데, 가끔 알림이 안 왔다.
푸시 알림 서비스에는 두 가지 기능이 있다.
대량 푸시 발송 서비스에서 진행률 업데이트가 안 되는 버그가 있었다.
FCM(Firebase Cloud Messaging, 구글에서 제공하는 모바일 푸시 알림 서비스) 발송 실패한 토큰을 DB에서 비활성 처리하는 기능을 배포했다. 로직은 단순했다.