[2021.07.01] 3 Tier Architecture & MVC & auto commit (CS)
3 Tier Architecture란?
* 3계층 구조에서 각 계층은 물리적이면서, 독립적(계층의 변경이 다른 계층에 의존X)
* 3 계층으로 나누어 별도의 논리적/물리적인 장치에 구축 및 운영하는 형태를 말함
* 층(Layer) : 컴포넌트들의 논리적인 분리를 뜻함
1. Client(presentation) Layer == GUI & front-end Layer
- 사용자가 직접 마주하게되는 계층(사용자 인터페이스 지원)
e.g ; 인터넷 브라우저
- 주로 웹서버를 뜻함 (물리적 : WEB서버)
ex) CSS, HTML, javascript, , 사진 자료(image)
2. application Layer == Middleware & back-end Layer
- 요청되는 정보를 어떠한 규칙을 바탕으로 처리 및 가공 (동적 데이터 제공)
- 비즈니스 로직 계층 또는 트랜잭션 계층이라고 부름
* 비즈니스 로직은 워크스테이션으로부터의 클라이언트 요청에 대해 마치 서버처럼 행동
ex) Java EE, ASP.NET, PHP
3. Data Tier
- 데이터베이스와 그것에 액세스해서 읽거나 쓰는 것을 관리하는 프로그램을 포함
- DB & File System 접근 및 관리
ex) MySQL DB, Oracle DB
3계층구조 장단점
* 장점
- 각 계층을 구분하여, 업무 분담을 통해 -> 업무 효율성 증가 & 서버의 부하 감소
- 서로 다른 물리적인(논리적인) 서버들을 구성 -> 리스크 감소 (백업 등등)
* 단점
- 1계층 보다 장애가 많이 발생함
- 비용도 많이 발생함 -> 서비스 규모 및 사용자 증가에 따라 계층 구조를 설계 및 고려
Mulit Tier Architecture (다층 구조)란?
출처 : https://www.oreilly.com/library/view/web-database-applications/0596005431/ch01.html
다층 구조(Mulit Tier Architecture)란?
-> 분산 네트워크에서 세 개 이상의 서로 다른 컴퓨터 사이에 분산되는 것
-> 소프트웨어 개발자가 최대한의 유연성으로 재사용 가능한 애플리케이션 & 시스템을 만들 수 있도록 도와줌
Advantages(장점)
1. 확장성
2. 데이터 무결성
3. 재사용성
4. 배포 감소
5. 향상된 보안
6. 가용성 향상
Disadvantages(단점)
- 복잡성이 증가
--------------------------------------------------------------------------------------------------------------------
* MVC 모델
출처 : https://www.oreilly.com/library/view/web-database-applications/0596005431/ch01.html
* Model
-> 실제 데이터 처리
* View
-> Model의 상태 표시
-> 사용자가 보는 화면 담당(UI) - HTML/CSS로 구성
-> Controller가 View에게 동적 데이터 전달
* Controller
-> Model & View 처리 요청
-> Model이 Controller에게 data 전송
-> View에게 data 전송
-> Request를 처리함(GET, POST, PUT, DELTE)
e.g : Excel
MVC 모델의 장점
- 기능별로 분리 -> 작업 할 때 편리함 , 변경 & 수정이 필요한 경우 다른 영역에 영향 X
--------------------------------------------------------------------------------------------------------------------
db에서 commit을 할 때, autocommit을 사용하면 안되는 이유 ?
e.g : 왼쪽 db 에서 -50, 빼서 autocommit을 했는데, 오른쪽에 +50이 안되면 손실되기 때문
- 그렇기 때문에, precommit으로 양 측에서 둘다 작동했을 때, commit을 해야함
'Etc' 카테고리의 다른 글
[2021.07.19] ASUS 노트북 부팅 소리 끄는 방법 (0) | 2021.07.19 |
---|---|
[2021.07.19] ASUS 노트북 베터리 충전기 빼면 어두워지는 현상 (화면밝기가 감소하는 현상) (1) | 2021.07.19 |
[2021.06.24] ASUS 노트북 불량 제품인지 확인하는 방법? (0) | 2021.06.24 |
[2021.06.11] How to install pyautogui on virtual env Using VS code? (0) | 2021.06.11 |
[2021.06.11] How to install jupyter notebook on VS Code? (0) | 2021.06.11 |
댓글