inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

단순 호기심으로 인한 질문입니다!

232

박민성

작성한 질문수 31

0

  1. 서블릿은 의존관계가 필요가 없는가?

고찰 : 1번질문은 사실 질문을 올려봤는데 질문에 대한 답변이없어서 묻힌거같아 한번더올려봅니다!

영한님께서도 다른분이 질문하셨을때 서블릿은 의존관계가 필요없다고 말씀하셨습니다. 그 이유를 한번 생각해봤는데, 의존관계라는게 쉽게말하면 객체가 다른객체를 알고있음을 말하는거같습니다. 서블릿도 결국 java기반의 웹프로그래밍을 동적으로 도와주는 객체라는것입니다. 다시말하자면 서블릿과 서블릿끼리 의존관계라는게 요청을 의미하는데 사용자가 다른사용자의 요청을 알고있어도 그냥 무덤덤하게 "아 저사람은 저걸시켰구나"라고 넘어갈수도있지만, 개인정보이기때문에 굳이 의존관계가 없어도됨을 나타내는거같습니다.

 

2.현업에 계신분들이 봤을때 메모리용량을 얼마나 설정해야하는지?

고찰 : 서블릿에 대하여 요청당 하나의 스레드라고 알고있습니다. 사용자의 요청을 서블릿1이라고 했을때, 사용자2는 서블릿2 .... 사용자3000은 서블릿3000이라고했을때 @Controller는 선언될때 객체자체는 heap영역에 생성되지만 class정보는 method area영역에 생성이되고 결국 thread는 힙이든 메소드든 공유를하기때문에 수십만건의 쓰레드가와도 controller를 공유하여 처리할수있다는점입니다.

servlet는 singleton이기때문에 사용자의 정보를 알고있어 요청이 끊기기 전까지 알고있어야합니다. 이때,

2-1)DB에 수천만 또는 수억의 사용자들이 요청이온다면 정보를 저장해야할텐데 DB가 그정도까지 지원하나요?

2-2) 2-2번질문은 제가 질문하다가 떠오른생각인데 요청이끊긴다고해서 개인정보가 삭제되는것이아니라 일정활동이 없으면 휴먼계정으로 판단되어 DB에서 삭제가되는거였군요.. 방금 게임에 대한 정보를 생각했답니다

 

1번은 제가 이해한게 맞는지와 2-1)번은 단순히 현업에 제가있지않아봐서 호기심으로 질문드립니다!

spring mvc

답변 1

2

김영한

안녕하세요. 박민성님

1번 질문은 잘 이해가 되지 않습니다. 예시와 상황을 좀 더 자세히 말씀해주시겠어요?

2번 질문에 답을 드릴게요.

Q: 2.현업에 계신분들이 봤을때 메모리용량을 얼마나 설정해야하는지?

-> 이 부분은 서버마다 다릅니다. 웹 애플리케이션의 경우 대부분 응답을 하고 나면 결과를 빠르게 GC 하면 되기 때문에 많은 메모리가 필요하지는 않습니다. 그리고 서버 자체의 수를 늘리 수 있기 때문에 이 부분은 성능 테스트와 여러가지 최적화를 해보아야 합니다. 보통 4G 이상은 필요합니다.

Q: 2-1)DB에 수천만 또는 수억의 사용자들이 요청이온다면 정보를 저장해야할텐데 DB가 그정도까지 지원하나요?

-> 1초안에 수천만 요청이 들어오는 것이 아니라 사용자의 요청이 나누어 들어오기 때문에 초당 수백~수천 정도를 처리한다고 보시면 됩니다. 만약 더 필요한 경우 데이터베이스를 샤딩하는 등 여러가지 기법이 사용됩니다.

감사합니다.

0

박민성

아하 답변감사드립니다!

다른분께서 질문하신 내용이 있는데 https://www.inflearn.com/questions/245723/%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94-%EC%A7%88%EB%AC%B8%EC%9D%B4-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4

이부분에서 영한님이 서블릿에대한 의존관계가 필요하지않다고하셔서 궁금합니다!

0

김영한

서블릿은 각각 요청을 받아서 처리하는 목적으로 사용됩니다.

스프링의 컨트롤러와 같은 개념이지요. 스프링 컨트롤러가 서로 의존관계를 가질 필요가 없는 것과 같은 목적이라 생각하시면 됩니다.

servlet과 container에 대한 질문입니다

0

25

1

api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?

0

64

1

jsp 의존성 수정 요청

0

80

2

요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?

0

143

1

save() 메서드 문의

0

67

1

절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상

0

101

1

request-body-json

0

83

2

MVC 패턴의 적용 단위

0

97

1

RequestMapping을 이용한 핸들러, 어댑터

0

119

2

save 후 결과화면

0

89

2

jsp를 이용한 view

0

97

1

application.properties에 debug 추가해도 결과가 똑같습니다.

0

178

1

수업 코드 제공 관련 문의

0

97

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

100

3

파일 오픈 시

0

70

1

스프링 배치 관련

0

78

1

@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부

0

112

1

postman으로 /request-body-json-v1 호출시 500 error

0

96

1

프론트엔드와 백엔드의 mvc, rest api에 대한 질문

0

79

1

모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문

0

111

1

console log 출력 관련 질문입니다.

0

75

1

애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ

0

139

1

html 변경하는 부분 적용 문제

0

103

1

한글 깨짐

0

77

2