Two Tier Architecture

Moon Blue의 IT 로그 📝·2023년 3월 29일
0
post-thumbnail
계층설명기술 스택 예시
클라이언트 계층사용자 인터페이스(UI)와 사용자 경험(UX)을 담당, 프레젠테이션 및 애플리케이션 로직 수행HTML, CSS, JavaScript, Java, Python, PHP, Ruby, Node.js
서버 계층데이터베이스와의 연결 및 데이터 관리를 담당MySQL, PostgreSQL, MongoDB, Redis

🔖 2 티어 아키텍처란?

2 티어 아키텍처는 소프트웨어 시스템을 클라이언트 계층과 서버 계층으로 나누어 관리하는 구조를 말합니다. 이 아키텍처는 각 계층의 역할과 책임을 분리하지만, 프레젠테이션 및 애플리케이션 로직이 클라이언트 계층에 결합되어 있어 개발 및 유지보수가 상대적으로 어렵습니다.

✅ 클라이언트 계층 : 사용자 인터페이스와 경험, 비즈니스 로직 처리

클라이언트 계층은 사용자 인터페이스(UI)와 사용자 경험(UX)을 담당하며, 프레젠테이션 및 애플리케이션 로직을 수행합니다. 이 계층은 사용자의 요청을 입력받아 서버 계층에 전달하고, 처리된 결과를 사용자에게 보여주는 역할을 수행합니다. 주로 HTML, CSS, JavaScript 등의 웹 기술을 사용하며, Java, Python, PHP, Ruby, Node.js 등의 프로그래밍 언어와 프레임워크를 사용해 개발할 수 있습니다.

✅ 서버 계층

📌 데이터베이스 연결

서버 계층은 데이터베이스와의 연결 및 데이터 관리를 담당하는 계층으로, 데이터의 저장, 검색, 수정, 삭제 등의 작업을 수행합니다. 관계형 데이터베이스(RDBMS)나 NoSQL 데이터베이스 등 다양한 데이터베이스 시스템을 사용할 수 있으며, SQL 쿼리나 ORM(Object Relational Mapping) 기술을 활용해 데이터 처리를 진행합니다. 대표적인 데이터베이스로는 MySQL, PostgreSQL, MongoDB, Redis 등이 있습니다.

📌 관리

2 티어 아키텍처는 각 계층의 역할이 명확하게 분리되지 않아 개발 및 유지보수가 상대적으로 어렵다는 단점이 있지만, 작은 규모의 프로젝트나 빠른 개발 속도가 필요한 경우에는 2 티어 아키텍처를 선택할 수 있습니다. 또한, 시스템의 규모가 작을 때는 3 티어 아키텍처보다 간단한 구조로 인해 관리와 운영이 용이할 수 있습니다. 하지만, 프로젝트 규모가 커질수록 프레젠테이션 로직과 애플리케이션 로직의 분리가 어려워지며, 확장성과 유지보수성이 떨어질 수 있어 대규모 프로젝트에서는 3 티어 아키텍처가 더 적합한 선택일 수 있습니다.


결론적으로, 2 티어 아키텍처는 작은 규모의 프로젝트나 빠른 개발이 필요한 경우에 사용하기 적합한 아키텍처입니다. 하지만 시스템의 규모가 커질수록 3 티어 아키텍처와 같은 더욱 역할 분리가 명확한 아키텍처를 사용하는 것이 유리할 수 있습니다. 각 프로젝트의 요구사항과 규모에 따라 적절한 아키텍처를 선택하는 것이 중요합니다.

profile
What a Beautiful World~ 🌏

0개의 댓글