[One-Day Tech Talk] 2-Tier Architecture

황제연·2025년 2월 26일

CS학습

목록 보기
16/194
post-thumbnail

서론

'자바 성능 튜닝 이야기' 책을 읽던 도중 2-Tier 아키텍처 개념이 등장했습니다.

이번에는 Swing이나 SWT 기반의 애플리케이션을 만들 때 활용한다는
2-Tier 아키텍처에 대해 정리하였습니다.

2-Tier 아키텍처

웹 아키텍처에서 2-Tier 아키텍처란 웹서버가 DB에 직접 연결되어있는 구조를 의미합니다
2-Tier 아키텍처는 기본적으로 클라이언트-서버 모델과 유사하며,
클라이언트 애플리케이션이 데이터베이스 서버와 직접 통신하는 방식입니다

예시

도서관 관리 시스템을 예로 들어보겠습니다

계층 구성

  1. 클라이언트 계층: 도서관 직원이나 사용자가 상호작용하는 UI를 제공합니다
  2. 데이터베이스 계층: 도서정보, 사용자로그 등 데이터를 저장하고 관리하는 데이터베이스 서버입니다

시나리오

사용자가 책 검색 요청을 보내면, 클라이언트 애플리케이션이 이를 데이터베이스에 직접 전달합니다
이후 데이터베이스에서 검색 결과를 조회해, 클라이언트에게 반환하는 방식으로 동작합니다

이러한 구조덕분에 사용자는 원하는 정보를 빠르게 얻을 수 있습니다

2-Tier 아키텍처의 장점

  • 빠른 데이터 접근: 클라이언트가 DB에 직접 연결되므로 검색 및 조회 속도가 빠릅니다.
  • 구현 및 유지보수 용이: 계층이 적기 때문에 구조가 단순하며, 배포와 관리 비용이 낮고 이해하기 쉽습니다

2-Tier 아키텍처의 단점

  • 보안 취약성: 클라이언트가 데이터베이스에 직접 접근하기 떄문에 보안이 취약할 수 있습니다

  • 확장성 부족: 다수의 클라이언트가 데이터베이스에 직접 연결되면 트래픽이 증가할 수록 성능 저하가 발생할 수 있습니다

결론

  • 2-Tier 아키텍처는 클라이언트가 데이터베이스와 직접 통신하는 구조입니다.
  • 빠른 데이터 접근과 낮은 배포 비용등의 장점이 있습니다
  • 보안 취약성과 확장성 부족이라는 단점이 존재합니다

참고

profile
Software Developer

0개의 댓글