Spring
-
[Aws + Spring] SNS(Simple Notification Service) + Spring Boot 에러 메일 전송 기능 구축하기Spring 2024. 1. 20. 16:28
소개 이번 포스트에서는 Spring Boot와 AWS의 Simple Notification Service(SNS)를 결합하여 어플리케이션에서 발생한 에러를 실시간으로 감지하고 관리자에게 메일로 알림을 보내는 기능을 구축하는 방법에 대해 알아보겠습니다. AWS SNS(Simple Notification Service)란? AWS SNS는 Amazon Web Services(AWS)에서 제공하는 완전 관리형 메시징 서비스로, 분산된 시스템에서 효율적으로 메시지를 전송하고 받을 수 있는 서비스입니다. 다양한 플랫폼과 어플리케이션 간에 쉽게 메시지를 송수신할 수 있도록 설계되었습니다. 주요 특징: 다양한 플랫폼 지원: SNS는 모바일 디바이스, 웹 어플리케이션, 이메일, HTTP 엔드포인트 등 다양한 플랫폼으로..
-
[Aws + Spring] Spring Boot + Aws Glue + S3를 활용한 방문자 통계 구축 (1)Spring 2024. 1. 2. 22:48
🚀 웹 애플리케이션을 구축할 때 방문자 통계 및 실시간 데이터 분석은필수 요소입니다. 이번 포스팅에서는 Spring Boot, AWS Glue, 그리고 S3를 결합하여 방문자 통계 시스템을 구축하는 방법을 알아보겠습니다. 이 포스팅에서는 아래 두 가지 통계를 구축할 예정입니다. 1. 일일 방문자 디바이스 통계 (PC, 모바일, 테블릿 수) 2. 일일 사이트 통계 (방문자 수, 페이지 뷰, 회원가입 수) 🎯 이 포스트를 통해 얻을 수 있는 것: AWS Glue를 이용한 데이터 ETL 프로세스 자동화 AWS S3를 활용한 확장 가능한 통계 데이터 저장소 구축 웹 애플리케이션의 방문자 통계 프로세스 구축 ✍️ 목차 1. AWS S3 로그 폴더 생성 2. Spring Boot 설정 3. Spring Boot에..
-
[Spring] Spring Boot에서 아임포트 다날 본인인증 연동(Rest Api)Spring 2023. 9. 21. 23:44
서버에서 본인인증을 처리하는 방법은 여러가지가 있다. 1) 이메일을 통한 본인인증 2) SMS를 통한 본인인증 3) PG사 제공 본인인증 서비스 이용 그 중에 3번 즉, iamport의 다날 PG사를 이용한 본인인증 서비스를 Spring Boot에서 Rest Api 방식으로 연동하는 방법을 작성해본다. 개발 환경: 💡 Spring Boot 2.5.5 💡 Java 1.8 💡 JPA 💡 Maven 💡 WebView Target: Unity 📌 아임포트 관리자 콘솔에서 가맹점 식별코드와 Api Key, Api Secret Key를 발급 받았다는 전제하에 진행한다. 먼저, 동작 순서는 아래와 같다. 1. 클라이언트에서 '본인인증하기' 클릭시 서버에 웹뷰 인증값을 요청 2. 서버에서 인증토큰(인증값 UUID, 만..
-
Spring boot Gitlab CI/CD 구축 (2)Spring 2023. 9. 19. 22:20
저번 포스팅에서는 GItlab-Runner용 IAM 계정을 생성하고, EC2 서버에 Runner를 설치 했으며, 필요한 설정까지 완료 했습니다. 이번 포스팅에서는 Gitlab Repository 설정과 Package를 설치하고 파이프라인을 구축 해보겠습니다. https://developer-been.tistory.com/37 Spring boot Gitlab CI/CD 구축 (1) 개발 프로세스에서 CI/CD(Continuous Integration/Continuous Deployment)는 애플리케이션 개발과 배포의 효율성을 높이고 소프트웨어 개발 수명 주기를 단축하는 중요한 구성 요소입니다. 이 포스팅에서는 AWS developer-been.tistory.com 5. Gitlab Runner 설정 P..
-
Spring boot Gitlab CI/CD 구축 (1)Spring 2023. 9. 10. 19:14
개발 프로세스에서 CI/CD(Continuous Integration/Continuous Deployment)는 애플리케이션 개발과 배포의 효율성을 높이고 소프트웨어 개발 수명 주기를 단축하는 중요한 구성 요소입니다. 이 포스팅에서는 AWS EC2 인스턴스에 GitLab Runner를 설치하여 GitLab CI/CD 파이프라인을 구축하고, Spring Boot에서 CI/CD 프로세스를 구현하는 방법을 알아보겠습니다. 💡 CI/CD(Continuous Integration/Continuous Deployment)란? CI/CD는 개발자 및 개발 팀이 소프트웨어를 더 신속하게 개발하고 배포할 수 있도록 도와주는 소프트웨어 개발 및 배포 프로세스의 조합입니다. 이를 통해 코드 변경사항이 자동으로 통합되고 테스..
-
[AWS + Spring] Spring Boot에서 S3와 CloudFront를 이용한 파일 업로드 (2)Spring 2023. 9. 3. 19:04
이전 포스팅에서 AWS CloudFront 및 S3를 생성하고, 정책을 생성해서 적용까지 완료 했습니다. 해당 포스팅에서는 Spring Boot 설정을 하고 Presigned URL 생성 API 까지 구현 해보겠습니다. AWS CloudFront 및 S3 및 정책 생성은 이전 포스팅을 참고 하시길 바랍니다. https://developer-been.tistory.com/36 [AWS + Spring] Spring Boot에서 S3와 CloudFront를 이용한 파일 업로드 (1) Spring Boot 애플리케이션에서 파일 업로드 기능을 구현하고, 이를 AWS S3와 CloudFront를 활용하여 파일을 안정적으로 저장하고 배포하는 방법을 설명합니다. 이를 통해 애플리케이션의 성능과 안정성 develope..
-
[AWS + Spring] Spring Boot에서 S3와 CloudFront를 이용한 파일 업로드 (1)Spring 2023. 8. 5. 18:14
Spring Boot 애플리케이션에서 파일 업로드 기능을 구현하고, 이를 AWS S3와 CloudFront를 활용하여 파일을 안정적으로 저장하고 배포하는 방법을 설명합니다. 이를 통해 애플리케이션의 성능과 안정성을 향상시키며, 사용자 경험을 개선할 수 있습니다. Spring Boot Server에서 미리 서명된 Presigned URL을 생성하고 Client단에서 별도의 권한 없이도 파일을 업로드 할 수 있습니다. 💡 CloudFront와 S3를 연결 하는 이유는 아래와 같습니다. 1. 빠른 파일 배포 - CloudFront는 전 세계에 분산된 엣지 로케이션(Edge Location)을 가지고 있으며, 사용자에게 가까운 엣지 로케이션에서 콘텐츠를 제공합니다. 이로 인해 파일을 빠르게 다운로드할 수 있으며..
-
[Spring] Scheduler Lock(SchedLock) - Multiple Scheduler Instance 방지Spring 2023. 2. 22. 08:46
Scheduler를 사용하려고 할때, 서버가 Scailing 되는 환경이라면 Multiple Scheduler Instances가 발생하기 때문에 고민을 해봐야 한다. 그리고 이를 해결하기 위한 방법은 2가지 정도로 살펴볼 수 있다. 첫 번째로는, Quartz와 같은 분산 스케줄링 프레임워크를 사용하여 여러 인스턴스에서 스케줄러 실행을 조정할 수 있다. 이렇게 하면 새 인스턴스가 환경에서 추가되거나 제거되더라도 한 번에 하나의 스케줄러 인스턴스만 실행되도록 할 수 있다. 두 번째로는, 한 번에 하나의 스케줄러 인스턴스만 실행되도록 할 수 있다. 스케줄러의 각 인스턴스가 예약된 작업을 실행하기 전에 공유 리소스에 대한 잠금을 획득하도록 함으로써 이를 수행할 수 있다. 스케줄러의 다른 인스턴스가 잠금을 이미..