푸시 한 번에 수십만 명 — 메시지 유실 없는 알림 시스템을 어떻게 만들었나RabbitMQ + BullMQ + NestJS로 구현한 분산 알림 파이프라인 설계기문제는 이렇게 시작됐다서비스가 성장하면서 알림 요구사항이 복잡해졌습니다.마케팅팀이 보내는 수십만 명 대상 일괄 앱푸시 or 이메일사용자 행동에 반응하는 실시간 서비스 푸시날짜와 시간을 지정하는 예약 발송FCM, APNs, 웹 푸시, 이메일, SMS를 모두 커버하는 멀티채널 전송처음에는 각 서비스가 직접 FCM API를 호출했습니다. 그러다 문제가 터지기 시작했습니다."마케팅 배치 발송이 시작되면 일반 알림이 수십 분씩 밀린다."이유는 단순했습니다. 하나의 Queue를 모든 서비스가 공유했기 때문입니다. 100만 건의 배치 Job이 쌓이면 그 뒤에 ..
회사에서 결제 쪽을 리팩토링 하면서 중국 쪽 결제수단인 알리페이 결제를 했던 내용을 적어보고자 한다. 결제는 안드로이드 앱으로 주로 하게 되므로, 안드로이드팀과 얘기를 하면서 진행했다. 원래 알리페이는 연동되어 사용하고 있엇지만, 알리페이 결제 수단 갱신과 늘 그렇다싶이 기존에 하던 사람이 없으면 새롭게 하게 되는 법 ㅎㅎ.. 그래서 회사에서 했던 내용을 기록차 짧게 적어본다. 개발자 문서는 아래 링크로 들어가면 된다. (중국어..) https://opendocs.alipay.com/common/02np8r 小程序文档 - 支付宝文档中心 opendocs.alipay.com 수정전 결제 직접 결제 테스트 및 플로우 테스트가 되는지 여쭤보고 플로우를 정리했다. 플로우는 위와 같이 되고 내가 해야하는 부분은 ..
2023.03.15 ~ 2023.05.31 회사에서 데이터독을 세팅을 내용을 적는 글입니다. https://www.datadoghq.com/ Cloud Monitoring as a Service | Datadog See metrics from all of your apps, tools & services in one place with Datadog's cloud monitoring as a service solution. Try it for free. www.datadoghq.com CTO님께서 데이터독 적용에 참여해 보는 게 어떻냐고 하셔서, 참여하게 되었다. 내가 맡은 역할은 MSA 중추 서버와 k8s에 떠있는 서비스 중 하나를 적용하는 것이었다. 당연히 중추 서버를 맡은 만큼 제일 먼저 데이터독 ..
언제나 깐깐한 애플에 요구사항중 하나였던, 애플 OAuth 로그인시 회원탈퇴시 revoke에 관한 내용이다. https://developer.apple.com/kr/app-store/review/guidelines/#5.1.1 App Store 심사 지침 - Apple Developer App Store 심사 지침에는 사용자 인터페이스 디자인, 기능, 콘텐츠 및 특정 기술 사용 등을 비롯하여 개발과 관련된 다양한 주제에 대한 지침과 예가 나와 있습니다. 이러한 지침은 앱 승인 절차를 developer.apple.com 왜 해야 하는가? 위와 같은 내용이 있고, 저 내용을 지켜달라는 권고가 내려왔다. 정해진 기간에 안하면 "너희 앱 내려버릴거야!" 라고.. 무조건 해야하는 상황, 따라서 내가 하게 되었다...