Tier? Tears? 이게 뭐야...
나한테 티어란...
흔히 들어본 게임의 롤 티어와 소찬휘의 tears가 전부인데
이건 뭐냐고~~
일단 정리 시작.
계층이라는 건 예전에 네트워크 공부할때 배운 7Layers(애프스트엔들피,,)가 전부였다...
인프라적인 측면에서는 크게 3가지로 나뉜다.
📖클라이언트 계층
말 그대로 클라이언트가 마주하는 공간
쉽게 설명하자면 브라우저(velog 홈페이지, naver, google 등)
프론트엔드라고 불리는 곳이다.
구성은 HTML, Javascript, CSS 등 데이터 처리는 하지않음.
📖웹/어플리케이션
앞단에서 요청한 것을 바탕으로 데이터 처리를 하는 공간
데이터 처리 로직이 있다.
클라이언트 계층에서 바라보면 응답을 해주는 서버, 데이터 계층에서 보면 요청을 하는 서버로 보이게 된다.
흔히 미들웨어 및 백엔드라고 불리는 곳이다.
구성은 Java, PHP 등으로 구성.
📖데이터
간단하게 그냥 데이터베이스에 접근하여 원하는 값을 읽어오거나 쓰는 공간
DBMS가 있는 공간이며, 성능을 위해서는 DB가 있는 서버는 DB만 쓰는게 좋다.
여기도 백엔드라고 불리는 곳
구성은 Oracle, MongoDB, MariaDB 등으로 구성
3 Tier Architecture
각각의 계층이 물리적으로 분리가 되어있어서 어떤 계층에서 변화가 일어나더라도 다른 계층에 영향이 미치지않음.
2 Tier Architecture
클라이언트 계층이 HTTP요청과 어플리케이션단의 업무 처리를 하며 변화가 있더라도 데이터 계층에 영향이 가지않음.
1 Tier Architecture
1개의 서버에 모든 기능을 추가한 형태
개발환경에서 많이 이루어지며 집에서 혼자 개발을 많이 하는 사람이면 docker로 각각 띄워 구현하는 사람을 보기는했다.