알림 서비스는 유저 간 채팅 내용을 실시간으로 전달하는 서비스입니다. 사용자가 메시지를 주고받을 때마다 해당 알림을 실시간으로 처리하여 상대방에게 즉시 알림을 보내는 기능을 제공합니다.
- Java Spring Boot: 알림 서비스는 Spring Boot를 사용하여 구현되었습니다. Spring Boot는 빠르게 애플리케이션을 구축하고 배포할 수 있는 프레임워크로, RESTful API 및 gRPC 통합을 지원합니다.
- gRPC: 서비스 간 통신을 위해 gRPC를 사용하여 실시간 데이터를 전송합니다. gRPC는 고속의 RPC(Remote Procedure Call) 시스템으로, HTTP/2를 기반으로 하여 성능이 뛰어나며 양방향 스트리밍을 지원합니다.
- 빠른 속도: HTTP/2 기반으로 효율적이고 빠른 통신을 제공합니다.
- 양방향 스트리밍: 클라이언트와 서버 간 실시간 스트리밍이 가능하여 실시간 알림 처리에 최적화되어 있습니다.
- 다양한 언어 지원: 여러 프로그래밍 언어에서 사용할 수 있어 시스템 통합이 용이합니다.
- 자동 코드 생성:
.proto파일을 사용하여 서버 및 클라이언트 코드를 자동으로 생성할 수 있습니다.
- 채팅 서비스와 통신: 사용자가 채팅 메시지를 보내면, Spring Boot 기반의 채팅 서비스 서버는 이를 처리하여 알림 데이터를 생성합니다.
- gRPC를 통한 알림 전송: 서버는 gRPC를 사용하여 알림 내용을 클라이언트로 전송합니다.
- 클라이언트 응답: 클라이언트는 알림을 수신한 후, 상태값
1을 서버로 반환하여 알림을 정상적으로 처리했음을 알립니다. - 프론트엔드로 데이터 전달: 알림에 포함된 메시지와 현재 시간을 프론트엔드에 전달하여 사용자에게 실시간 알림을 표시합니다.
- 실시간 알림: gRPC를 통해 실시간으로 채팅 알림을 전달하고, 사용자는 새로운 메시지를 즉시 확인할 수 있습니다.
- 상태 추적: 클라이언트는 알림을 수신한 후, 알림을 처리했음을 서버에 알려 상태값
1을 반환하여 알림 처리 여부를 추적할 수 있습니다. - 시간 표시: 알림에 포함된 메시지와 함께, 실시간으로 받은 시간을 함께 표시하여, 사용자가 알림을 받을 시점에 대한 정확한 정보를 제공합니다.
- 이 알림 서비스는 Spring Boot와 gRPC를 활용하여 실시간으로 유저 간 채팅 알림을 처리하고 전달하는 시스템입니다. 채팅 서비스와의 통합을 통해 사용자는 즉시 메시지를 받아볼 수 있으며, 각 알림에 실시간 시간이 포함되어 사용자 경험을 향상시킵니다.