-
Notifications
You must be signed in to change notification settings - Fork 0
2주차 수요일 그룹 3
CodingLuizy edited this page Jul 3, 2024
·
2 revisions
| Group 3 | 김현준, 이영민, 박정제, 오민석, 김승수 |
- resource mapper를 만들어 주는 것 어떻게 처리할까 고민했는데 깨달았어요.
- handler로 핸들링 하는 것 좋은거 같아요 깔끔한 코드네요 !
- 공식문서에 따른 OWS때문에 trim 쓰는 것과 URI Path 종류 4가지 처리 부분, http 헤더 값 핸들링 부분이 디테일이 좋았어요.
- 정리를 생활화한 부분이 좋았어요
- BufferedReader가 문자를 다루어서 ico이 깨지는게 신기했어요.
- 쓰레드 풀 부하 테스트 부분이 좋았어요.
배운 거 너무 많고 고민하던 아이디어들을 어떤 방식으로 해결할지, 디테일적인 부분도 함께 알게 되어서 좋았던 시간이였습니다.
- ThreadPool Service 에서 LinkedBlockingQueue 에 대해서 배웠습니다. 기본 newFixedThreadPool 에서 MAX_INTEGER 가 큐 사이즈 기본입니다. 따라서 제한해주는 편이 좋다는 것을 배웠습니다. File 리스판스와 String 리스판스를 별도로 해야한다는 것을 배웠습니다. byte 1024 로 하면 안된다! final 을 파라미터에 잘 붙여주는 것도 좋은 것 같습니다. HTTP 1.1 이랑 2 랑 톰캣이 프로세싱하는 게 아예 다르다는 것도 처음 알았습니다. RFC 규격을 신경쓰신 점도 인상깊었습니다.
- parse 하는 메서드에서 /** */ 주석을 이용해서 결과값을 어느정도 미리 볼수 있는 점이 인상깊었습니다. ‘:’ 기준으로 split 을 하면 trim 을 해줘야한다. 양쪽에 공백이 있을 수 있음.
- Request 와 Response 같은 키를 사용하면 안 된다? HTTP → 불변 → 레코드, unmodifiableMap 등을 이용해서 header를 변경 불가능하게 한 점이 인상깊다.
- 보통 URI를 위해서는 request target 상황에 다를 수 있으니까 잘 확인해야한다.
- Request 에 content-length 를 이용해서 byte를 더 읽는 방식으로 request body 를 읽는 구현이 좋았습니다.
- FileInputStream 을 순수하게 사용해서 Byte 를 사용하셔서 바이너리 파일을 잘 하신 게 인상깊었습니다.
기본 ExcuteServic factory 인스턴스는 큐 max 사이즈가 Integer max 로 되어서 문제가 될 수 있다
HTTP를 보낼때는 같은 헤더를 여러개 작성하면 안된다
HTTP를 받을때는 같은 헤더가 있다면 콤마로 분리해서 붙여서 사용할 수 있다
따라서, 여러 헤더가 있을때 붙여서 사용하도록 했다.
backlog수가 동시 요청 가능 개수를 늘리는데 유의미하다
🔥 재미있는 그룹리뷰-
더 구현해봐야 할 것! : router mapper, string util
-
더 공부해봐야 할 것! : back log 수, http 규약
-
더 생각해봐야 할 것! : 다른 분들이 진행한 test code 등에 대해 더 생각해봐야 할 것 같다
-
정리한 내용들을 더 꼼꼼히 봐야 할 것 같다. (Linux Kernel exec 부분 더 볼 것!) 구현 방식에 대해서 더 생각을 해보고 진행을 해야할 것 같다고 생각했다!
- ThreadPool 에서도 Queue Size 를 설정하지 않으면 기본으로 Intger.MAXVALUE가 들어간다. 여기서 많은 요청이 들어왔을 때 요청이 쌓여 서버가 종료 될 수 있다.
- Http 공식 문서를 통한 Request 형식에 주의 해야할 점이 많은 것 같다.
- HttpCode MIME enum 클래스 만들고 반복되는 문자는 상수화 ! ( 문서와 비슷하게 )
백로그 수 유의미 한가 ?
💡 변수 : 백 로그 수, 동시요청 수 결과 : 응답 수 상수 : 멀티 쓰레드 (10개의 쓰레드)-
백로그 수에 따라 테스트 ( OS 딴에서 128개가 최대 )
-
자바 멀티 쓰레드 환경 ( 10개의 멀티쓰레드 )
-
동시요청 1000개 일 때
백 로그 수 | 1 | 10 | 50 |
---|---|---|---|
응답 수 | 테스트가 안끝날 정도로 오래걸림,, | 753 | 1000 |