Skip to content
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

refactor: fcm 서버 비동기 처리 구현 #499

Merged
merged 12 commits into from
Jan 25, 2024

Conversation

Kim0914
Copy link
Collaborator

@Kim0914 Kim0914 commented Jan 25, 2024

※ 해당 PR 및 커밋은 이건회(@rawfishthelgh )와 함께 몹 프로그래밍으로 작성했습니다

🔥 연관 이슈

🚀 작업 내용

FCM 서버에서 알림 처리를 하는 로직을 비동기로 처리할 수 있도록 변경했습니다.
기존에 사용하던 Restemplate을 제거하고 FirebaseOptions 객체를 이용해 서버 정보를 추가한 후 FirebaseMessaging 객체의 sendAsync 메서드를 통해 알림을 전송하게끔 구현했습니다.

FirebaseMessaging.getInstance().sendAsync(message).get();

비동기 코드임에도 get을 호출해 response를 반환받은 이유는 비동기 처리 로직에서 future 타입의 결과를 받아 알림 요청의 성공 유무를 판단하기 위함입니다. 완전 비동기 호출보다 성능은 아~주 약간 떨어지지만 확실히 알림 전송 결과를 받아보는 것이 중요하기 때문에 위와 같이 결정했습니다.

곧 알림 실패 시 재전송하는 기능을 추가할 예정입니다 🥳

💬 리뷰 중점사항

이번에도 잘 부탁드립니다.

@Kim0914 Kim0914 added 🛠️ 리팩터링 리팩터링을 위한 이슈입니다 🍉 백엔드 백엔드 관련 이슈입니다 labels Jan 25, 2024
Copy link
Collaborator

@Choi-JJunho Choi-JJunho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

점점 발전해가는 알림기능!!
멋있어요 👍 고생하셨습니다

private String keyScope;

private final RestTemplate restTemplate;
private static final String FCM_JSON_PATH = "config/pium-fcm.json";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A

Value가 아니라 상수로 선언해서 약간 의아했는데 @PostConstruct 때문에 이렇게 한걸까요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ㅋㅋㅋ PR 올리고 할까 말까 고민중이었는데 제 마음을 잘 캐치해주셨네요
반영완류

Copy link

github-actions bot commented Jan 25, 2024

Unit Test Results

  89 files  ±0    89 suites  ±0   15s ⏱️ -1s
367 tests ±0  367 ✔️ ±0  0 💤 ±0  0 ±0 
373 runs  ±0  373 ✔️ ±0  0 💤 ±0  0 ±0 

Results for commit 2df1dd3. ± Comparison against base commit 0f13d5d.

♻️ This comment has been updated with latest results.

Copy link
Collaborator

@rawfishthelgh rawfishthelgh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기가막히군요

@rawfishthelgh rawfishthelgh merged commit 04f7066 into develop Jan 25, 2024
4 checks passed
@rawfishthelgh rawfishthelgh deleted the refactor/498-FCM_서버_비동기처리_구현 branch January 25, 2024 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🍉 백엔드 백엔드 관련 이슈입니다 🛠️ 리팩터링 리팩터링을 위한 이슈입니다
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

FCM 서버 알림 비동기처리 구현
3 participants