<aside> 👉 CICD - Github Actions + docker-compose 도입 이유
젠킨스 보다 상대적으로 덜 복잡하고 별도의 서비스로 이동할 필요없이 모든 작업을 Github 한 곳에서 처리할 수 있어서 도입했습니다.
가볍게 yml 파일 작성만으로 워크플로우를 정리가 가능합니다.
public 저장소의 경우 무료입니다.
slack 등 연동하기가 편합니다.
간단한 테스팅 환경을 구축할 수 있습니다.
</aside>
<aside> 👉 OAuth2.0
인증과 권한 부여
소셜 로그인 과정에서 백엔드 서버에서 ID/PW 를 제공하지 않고 OAuth2.0을 통해서 소셜서버(kakao, naver, google 등)에 로그인을 하게 되어 권한이 담긴 토큰을 백엔드 서버측에 제공하는 방식 구현 가능!
보안 강화
위의 방식대로 소셜 서버의 ID/PW 의 유출 방지 및 보안에 유리하기 때문에 선택하였습니다.
</aside>
<aside> 👉 JWT + 시큐리티
</aside>
<aside> 👉 **STOMP + Websocket
</aside>
<aside> 👉 **Redis
</aside>
jwt : 사용자 정보를 자체적으로 안전하게 담고 있어 토큰 자체를 정보로 사용함.
선택이유 1. 서버 부하 측면
선택이유 2. 로드밸런싱 용이
oAuth 2.0 : 소셜 로그인을 위해 권한을 위임할 때 사용하기 위한 표준 프로토콜로 이용.
Web socket : TCP 연결을 통해서 양방향 통신을 제공하는 기술로, 실시간 양방향 통신을 하기 위해 사용함
STOMP : 실시간 채팅에서 메시징 전송을 효율적으로 하기 위한 기술로, 메시지 송수신에 대한 처리를 명확하게 정의할 수 있는 특징을 가짐
선택이유 1. 실시간 모집글이나 농구장 정보를 보고 실시간으로 유저들끼리의 소통을 지원해야 하기 때문에 양방향 소켓 통신을 사용하였음