#Project/L.E.Assemble
[L.E.Assemble] nginx 로드밸런싱 적용과 배포 스크립트 수정
1. /api 경로에 대해 두 개의 App으로 로드밸런싱 2. 배포 시나리오 수정 변경 전 상황 1. EC2에는 두 개의 App이 존재하고 로드밸런싱이 적용되지 않았다. 2. 모든 요청은 하나의 App이 처리하고 쉬고있는 App이 존재한다. 배포 시나리오 요약 1. 휴식중인 App을 찾고 배포한다. 2. 배포가 완료되면 휴식중이던 App을 서비스할 App으로 변경 (switch) CodeDeploy 흐름 1. AfterInstall [stop.sh, profile.sh] 1.1 8081, 8082 중 쉬고있는 port의 App 선택 1.2 쉬고있는 port의 App 종료 2. ApplicationStart [start.sh, profile.sh] 2.1 빌드파일 복사해와서 권한 부여 2.2 쉬고있는 po..
[L.E.Assemble] 소셜 로그인 (카카오, 구글)
Spring Boot 환경에서의 OAuth2 소셜로그인 Spring Boot 구조로 구성된 L.E.Assemble 프로젝트에 적용한 OAuth2 소셜로그인에 대해 정리해봅니다. 📕 핵심 개념 OAuth2 (Open Authentication 2) 인증을 위한 표준 프로토콜 구글, 페이스북, 카카오 등에서 제공하는 Authorization Server를 통해 회원 정보를 인증하고 Access Token 발급 발급받은 Access Token을 이용해 타사의 API 서비스를 이용한다. OAuth2 구성 요소 Client : 제 3의 서비스 Resource Server(자원 서버) : OAuth2 서비스를 제공하고, 자원을 관리하는 서버 Resource Owner(자원 소유자=사용자) : Resource Ser..
[L.E.Assemble] Spring Boot 프로젝트 구성
전체 프로젝트 구성도 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스" 서적을 참고하여 프로젝트를 구성하였고 필요에 따라 기술을 선택하여 프로젝트에 사용하였다. Front-end : Mustache Back-end : Spring Boot Server : AWS EC2 - Reverse proxy : nginx - Load Balancing : nginx CI : Travis CI CD : AWS S3, AWS CodeDeploy DB : AWS RDS - Maria DB Storage : AWS S3 Cache: AWS ElasticSearch redis 그 외 도구 Build : Gradle, npm Testing : JUnit, NGrinder, Postman Authentication : OAu..