728x90
1. 2 Tier
1) 구조

2) 특징
- 클라이언트가 DB서버 내부로 직접 접속
- 이때, 디스크에서 클라이언트 각각을 메모리에 할당함 (CPU에서 읽어서 처리하기 때문에 메모리에 올리는 데까지 시간이 소요됨)
- 데이터 처리 요청이 없을 때도 접속을 유지하며 메모리 차지
3) 단점
- 클라이언트가 커넥션 오청할 때마다 클라이언트의 용량만큼 메모리가 필요하므로 메모리 과부하가 올 수도 있음
- 프로세서가 메모리에 올린 프로그램을 CPU를 통해 처리하는 시간이 필요함
- 데이터 요청이 있을 때만 데이터 처리를 하는데 대기해야 하므로 메모리 낭비된다.
=> 궁극적으로, 시간과 메모리가 낭비되니 비효율적이다.
2. Client/Server 구조 (C/S구조), 3Tier 아키텍처의 등장 개념
Client : request(요청)를 보내는 프로그램
Server : response(응답)를 보내는 프로그램
3. 3 Tier
1) 구조

2) 특징
- 2Tier 아키텍처에서는 클라이언트가 데이터를 가공하는 반면, 3Tier 아키텍처는 서버 프로그램에서 데이터를 가공하는 등 업무로직(비즈니스 로직) 처리를 다 함
- UI(Presentation Layer, 프레젠테이션 레이어)와 비즈니스 로직(Business Layer, 비즈니스 레이어) 분리가 가능
- 서버 로직 내에 Connection Pool 개념을 도입
- 서버로직 매커니즘 = DB 서버 매커니즘
- Thread Pool 혹인 Connection Pool에 의해 생성된 접속 메모리는 array 형태로 담김
Cf)
* 클라이언트 - 서버 관계는 Thread Pool
* 서버 - DB 서버 관계는 Connection Pool
* Array : Stack / Queue 와 다르게 몇 번째 방에서 데이터를 핸들링할지 설정이 가능한 특징이 있음
3) 장점
자원을 효율적으로 관리할 수 있음
728x90
'IT Etc' 카테고리의 다른 글
(WEB) 통신 시 415 Error (Media Type...) (0) | 2023.08.23 |
---|---|
[JSP] 이클립스에서 전체 인코딩 설정해주기 server.xml (0) | 2023.08.23 |
[언어] Java vs. C# 비교 (0) | 2023.08.23 |