API Request에서 다음 2가지를 가지고 권한을 인증합니다.
- Request Client의 도메인 - {Protocol}://{Domain}{Uri}
- Request Header의 api-key 값
이런 권한 인증을 Monolithic, MSA 각 환경에서 구현합니다. 캡스톤디자인 재설계 포스팅에서 자세한 내용을 확인할 수 있습니다.
- Monolithic 환경에서 Spring Security 활용해서 도메인 & API Key 인증 시스템 도입
- 유저 / 라이브 스트리밍 / 채팅 서비스를 분리
- React 같은 클라이언트 쪽에서 보상 트랜잭션 처리해보기
- Kafka 도입해서 Saga 패턴 적용
- amazoncorretto JDK 21
- Spring boot 3.2.1
- Spring MVC & JPA
- PostgreSQL
JDK 21 & Spring boot 3.2.x는 Virtual Thread도 사용해보고자 선택했습니다. PostgreSQL 또한 평소에 사용해보고 싶었기에 선택했습니다.
monolithic 폴더에서 확인할 수 있습니다.
- user - 사용자와 관련된 서비스의 권한을 확인합니다.
- chat - 채팅 서비스의 권한을 확인합니다.
- live - 라이브 스트리밍 서비스의 권한을 확인합니다.