트렐로 기능 구현 현황
발표 자료 정리
서버 아키텍처
SA
회고
- 목표한 기능들은 완수하지 못했다.
- 동시성 제어
- 실시간 통신(SSE, WebSocket)
- 최대한 오류는 없앨려고 단위테스트를 하였다.
- 개발 순서를 어떻게 해야할지 감을 잡은 것 같다.
- 설계
- 개발, 단위테스트
- 통합테스트
- CI/CD 구축
리뷰
-
ResponseEntity 컨트롤러단에서 하는게 좋음, 서비스는 무의미함
- Object는 사용 안하는게 좋음
- 사용 할 때는 모든 클래스에서 사용하는 부분에서만, 그런 경우도 제네릭이 좋음
-
서비스에서는 왠만하면 DTO를 반환하도록.
- 웹 시큐리티 중복이 있다고 함
- deprecate에 대한 메소드가 있음 수정이 필요
-
시큐리티 체인에서 ?
- http 빌드는 왜 쪼갰는지 구지 안쪼개도 되는듯
-
중요한 내용
- foreah를 하는데 순서 필요없으니까 parallelStream을 써서 병렬로 처리
- Config에 S3 Bucket에 넣는게 좋음, S3를 유틸로 만들어야했음
- S3를 분리를 해야했다
-
JWT
- 무상태(서버리스) 인데, repository를 사용을 하면 사실상 세션을 사용하는게 낫지 않나?
- loadUserByUsername에서 repository를 사용하는게 세션 쓰는게 낫지않나
- 현재 구조는 확장성이 안좋음
-
자신의 생각을 채용 할 필요가 있지 않을까?
-
이미지는 여러개 올릴때는 무조건 병렬 처리 하는게 매우 중요
-
실전프로젝트
- 유저들을 위한 서비스는 비추
- 추천, 비추천
- 비추: 예약, 다른 유저 공유, 검색, CRUD, 매칭 서비스
- 추천: 대규모 트랜잭션 환경, 실시간 방송(Web Flux), 대용량 트래픽, 1000만개? 주문 조회
- 비추: 예약, 다른 유저 공유, 검색, CRUD, 매칭 서비스
-
노력 포인트
- 유행하는 키워드
- 고가용성, 확장성을 달성하기 위한 것 들
- 무거울거 같은놈은 서버를 따로 빼냄
- 모든 서버를 ECS + Fargate(EC2) 이걸로 CI/CD 구성
- 서버를 3대 이상 다 Fargate로 구성
- 트래픽이 들어왔을때 ASG가 되게
- DB 분리는 해도되고 안해도됨 RDS쓰면 빼는거긴함
- Fargate쓸려면은 VPC가 꼭 필요하다고함
- 정리하면은
- ECS + Fragate 사용
- CI/CD 구현
- VPC Private Subnet, Public Subnet
- ASG
-
요청,응답 할 때 DTO 전부 다 쪼개는거같은데? Save, update, delete
- request, response 둘 다. 유지보수에 많은 도움이 됨
-
WebFlux 써보는건 추천
- 논블럭킹
- 기존은 대기를 해야하는거를, 대기 동안 사용이 가능함
- 코드가 적은 서비스에서 하면 좋을듯?
- 서버를 따로 빼서 한정적으로 쓸만함
-
역발상으로 뭘 해보고 싶어 보다는 아키텍처를 검색하고 아키텍처에 맞는 프로젝트를 진행하는
- 코드는 안중요함 왜why 관심없음, 안봄
- 아키텍처 >> 코딩
'항해99' 카테고리의 다른 글
항해99 실전 프로젝트 (2일차) (0) | 2024.01.27 |
---|---|
항해99 실전 프로젝트 (1일차) (0) | 2024.01.26 |
항해99 주특기 프로젝트 (11일차) (0) | 2024.01.24 |
항해99 주특기 프로젝트 (10일차) (0) | 2024.01.23 |
항해99 주특기 프로젝트 (9일차) (0) | 2024.01.21 |