본문 바로가기
Dev/etc

분산컴퓨팅

by 펭귄안에 온천 2022. 8. 31.
728x90
반응형

EJB를 시작하기전 분산프로그래밍에 대해 이해를 한다면 EJB에 대한 이해가 쉬울것 같아 정리한다.

 

2-Tier

- VB등의 프로그램 언어로 개발된 프로그램이 데이터 베이스에 직접 접근하여 비즈니스 로직을 처리하는 경우

- 예를들어 서버가 없이 내가 직접 프로그램을 다운받아 실행하고 다운받은 프로그램이 직접 DB에 접근하여 비즈니스로직을 처리하는 프로그램

- 클라이언트에서 모든 비즈니스 로직을 처리하므로 클라이언트 성능이 좋아야 한다.

- 소스가 수정되었을 경우 모든 클라이언트의 프로그램을 재 배포해야 한다.

- 서버보다는 클라이언트의 자원을 이용하는 환경

 

3-Tier

- 2-Tier의 단점을 극복하기 위해 등장함 기존의 클라이언트/DB사이에 중간단계를 추가함

- 첫번재 계층은 사용자의 입력을 받고 보여주는 프리젠테이션계층( 클라이언트 )

- 두번째 계층은 프리젠테이션계층에서 값을 받아들여 비즈니스로직을 처리하는 어플리케이션계층( 웹서버 )

- 세번째 계층은 데이터를 저장하는 데이터베이스 서버

- 대표적으로 환경으로는 웹이 있음

- 비즈니스로직, 소스가 변경되더라고 클라이언트를 수정할 필요가 없고 웹서버에서 해당 소스만 수정하면 된다.

 

N-Tier

- 3-tier의 코드 재사용의 어려움을 극복하기 위해 나타남

- 비즈니스 로직을 담당하는 애플리케이션 계층을 내부족 로직에 따라 여러부분으로 나눈 후 서로 통신하는 방법

 

분산컴퓨팅

- 어플리케이션을 로직,업무등에 따라 논리적, 물리적으로 분리하여 기술

 

분산 시스템의 특징

- 리소스 공유 : 하드웨어,소프트웨어 또는 데이터를 공유할 수 있음

- 동시처리 : 여러 시스템에서 동일한 기능을 동시에 처리 할 수 있음

- 확장성 : 컴퓨터 및 처리 용량은 추가 시스템으로 확장할 때 필요에 따라 확장할 수 있음

- 오류감지 : 장애를 더 쉽게 감지할 수 있음

- 투명성 : 노드는 시스템의 다른 노드에 액세스하고 통신할 수 있음

 

 

분산 시스템은 마이크로 서비스와 동일한가?

- 마이크로 서비스 아키텍처는 어플리케이션을 별도의 서비스로 나누기 때문에 분산 시스템의 한 유형에 해당한다.

 

 

EJB

- N-tier 환경을 쉽게 구축하기 위해 탄생

- EJB는 컴포넌트 기반으로 작성되므로 내부적인 통신은 RMI를 사용함

- EJB 아키텍처는 개발자가 분산 시스템을 쉽게 구현다록 도와줌

- 개발자는 EJB양식에 맞추어 비즈니스 로직을 담당하는 컴포넌트만 작성하면 됨

 

 

참고 - https://www.atlassian.com/ko/microservices/microservices-architecture/distributed-architecture

반응형

'Dev > etc' 카테고리의 다른 글

TDD에서 테스트 문서 대체 가능이란?  (0) 2022.10.30
Semantic Versioning  (0) 2022.10.01
정적( static )  (0) 2022.08.14
개발자 인터뷰할때 받았던 면접 질문 정리  (0) 2022.03.29
Tree명령어 - 프로젝트 구조 설명할때  (0) 2022.03.29