🤷 콘서트 예약 프로그램일반적으로 콘서트를 예약할 때에는 '인기가수'의 '팬'들이 몰리게 되며 트래픽이 발생한다. 곧 서버가 부하를 받게 된다. 적은 부하로 트래픽을 처리하기 위한 방법 중 사용 토큰 전략이 있다. Token (feat Redis)in-memory 데이터베이스인 Redis를 이용한 token 대기열 콘서트 예약프로그램의 대기열 방식은1. 사용자 처음 등장 -> 토큰 생성 -> 토큰 대기열로 들어감2. 토큰 대기열 -> 순번에 따라 활성화 토큰으로 전환 (서버의 상태에 따라 대기 시간이 정해짐)3. 활성화 토큰 -> 예약, 결제 등이 가능해짐 이 있다. 이곳에서 토큰 관리는 두가지로 나누게 된다.대기열 토큰 (Waiting Tokens)활성화 토큰 (Active Tokens)대기..
🤷 콘서트 예약 프로그램일반적으로 콘서트를 예약할 때에는 '인기가수'의 '팬'들이 몰리게 되며 트래픽이 발생한다. 곧 서버가 부하를 받게 된다. 적은 부하로 트래픽을 처리하기 위한 방법 중 사용 Caching 전략이 있다.Caching데이터를 임시로 복사해두는 Storage 계층적은 부하로 API 응답을 빠르게 처리하기 위해 사용 콘서트 예약프로그램은콘서트 일정 조회좌석 조회좌석 예약결제총 4개의 핵심 기능을 가지고 있다. 캐싱은 보통 메소드 단위로 작성된다. 자주 변화가 일어나지 않는, 하지만 많은 사용자들이 찾는 부분을 캐싱하는 것이 옳다.만약 사용자가 자주 찾는 정보를 캐싱하면, 서로 다른 정보를 보며 혼란이 일어날 것이다. 이곳에서 Caching으로 처리가 가능한 조회 부분을 볼 수 있다.콘..
1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)이번 주차를 지나며 겪었던 문제가 무엇이었나요?> 향해를 진행하면서 집안일이나 급한 일을 잡지 않으려 했습니다만 집 이사 등의 문제로 금주차는 진행 자체가 많이 힘들었습니다. 2. 시도문제를 해결하기 위해 어떤 시도를 하셨나요?> 준비를 하면서도 적어도 1시간 이라도 시간을 내려 노력했고, 과제보다는 알짜배기로 학습하는 시간을 가졌습니다. 3. 해결문제를 어떻게 해결하셨나요?> 빠르게 이사 일정을 잡고 해결했습니다. 4. 알게된 것문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?> 동시성 테스트 코드를 작성할 때에 ExecutorService의 execute와 submit은 비슷하지만 다른 동작을 하게 된다는 것을 알았습니다. ..
- 간단한 자기소개국비학원을 다니고 취직한 백엔드 개발자 입니다. SM, SI를 3년간 했습니다. 개발 중 PM역할을 함께 해왔어서, 서비스 개발에 대한 지식과, 연습을 해온 시간이 부족했습니다. - 이번 챕터를 시작하며 꼭 해내고 싶었던 목표목표라는게 구체적으로는 없었습니다. 다만 서비스가 제대로 돌아가는 개발을 완성하고 싶었습니다. - 이번 챕터를 마무리하며 가장 기억에 남는 성취커맨드에 대한 비밀이 풀렸고, 소스가 좀 깔끔해진 것 같습니다. - 이번 챕터에서 반드시 이뤘으면 했는데 이루지 못한 것로깅처리를 하고싶었는데 공통 로깅 처리를 못했습니다.. - 다음 챕터에서 반드시 성공하고 싶은 목표로깅처리하고, 리팩토링하고, 분산락까지 사용해보고 싶습니다. - 내가 강화해야 할 강점 중 가장 중요하다고..
1. 문제(과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제) 이번 주차를 지나며 겪었던 문제가 무엇이었나요?> 생각을 많이 해야하는 기능을 너무 완벽히 하려다보니, 시간을 많이 뺐겼습니다. 2. 시도문제를 해결하기 위해 어떤 시도를 하셨나요?> 일단 만들어야 하는 기본기능에 시간을 더 쏟기로 했습니다. 3. 해결문제를 어떻게 해결하셨나요?> 최대한 기능 단위를 돌아가게 한 뒤에 예외, 발생할 수 있는 문제를 테스트 했습니다. 4. 알게된 것문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?> 이렇게 했을 때 오히려 짐이 줄어들어 중요한 기능을 만드는 시간에도 명쾌하게 해결이 가능하고, 전체적인 기능의 단서를 예상할 수 있어 중요한 기능의 포인트를 잡기가 수월했습니다. Keep : 현재 만..
1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)-이번 주차를 지나며 겪었던 문제가 무엇이었나요?> 콘서트 예약 시스템을 설계하는 것은 처음이었습니다. 대기열, 동시성 등의 고민으로 시퀀스다이어그램을 작성하는 것에 어려움을 느꼇습니다. 현업에서 시퀀스다이어그램 없이 개발을 해왔기에, 효과적인 시퀀스다이어그램이 뭘까에 대해서도 고민을 많이 했습니다. 이틀정도는 고민만 계속 했습니다.2. 시도-문제를 해결하기 위해 어떤 시도를 하셨나요?> 팀원들이 어떻게 진행하는 지를 잘 지켜보고 힌트를 얻어갔습니다. 또 코치님 멘토링과 학습메이트를 활용해 제 생각의 방향성이 맞는지를 계속 확인했던 것 같습니다. 3. 해결-문제를 어떻게 해결하셨나요?> 결국 정보가 많아도 머리 속에서 정리하는 것은 저의 몫..
유저 토큰은 jwt를 사용하지 않고 DB에 테이블을 만들어서 유저의 대기열 대기 순서와 잔여 시간등 정보를 넣고 모든 api에서 사용자 정의 어노테이션을 만들어 유저의 토큰정보가 필요한 모든 api에서 요청일 올때마다 해당 테이블을 조회하여 로직을 수행할 수 있도록 설계를 하려고하는데 이런 방식으로 진행해도 되는지 질문드립니다.- jwt 써도되긴함폴링에 대해 - 10만명 동시 접속 - > insert into 대기열 with status:wait, DB poling -> 1건? 10건? 100건? 리스트 status:proceeding? 으로 바뀌겠지 service에서 -> finish. ,,- 대기열에서 예약가능 날짜까지 온다면 피니쉬인데.. db폴링도 괜찮고 스케쥴러도 괜찮다. 시퀀스 다이어그램을..
- Total
- Today
- Yesterday
- 로그인
- hypertexttransferprotocol
- 항해플러스
- 컨트
- rejectValue
- 백엔드 개발자 역량
- thymleaf
- 백엔드 개발자 공부
- react실행
- reject
- 항해99
- filter
- jpa api
- Java
- React
- 향해99
- Intercepter
- ArgumentResolver
- 예외처리
- exception
- 스프링공부
- 인터셉터
- 리터럴
- 향해플러스백엔드
- HTTP
- 스프링부트
- BindingResult
- 향해플러스
- JPA
- SpringBoot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |