그 주의 화요일, 금요일을 지정 날짜로 업데이트 합니다
IT 인프라의 기본 구성방식은 집약형
(하나의 컴퓨터로 처리)과 분할형
(여러대의 컴퓨터로 구축)이 있다.
분할형
에서 서버를 분할하는 방식에는 수직형
(서버별로 다른 역할)과 수평형
(용도가 같은 서버를 여러대)이 있다.
수직형
에는 3계층형 아키텍처
(프레젠테이션, 애플리케이션, 데이터 계층)가 속하는데 특정 서버에 부하가 집중되지 않고, 서로 다른 물리적(논리적) 서버들을 구성함으로써 리스크를 완화(이중화,백업 구성 등) 시킬 수 있다는 장점이 있다.
+) 추가적인 내용
실제 실무에서 '기본 구성 방식' 이라는 표현은 애매한 것 같다. 또 이미 대부분 여러대의 컴퓨터와 서버들로 구축하기 때문에 집약형, 분할형으로 구분하는 것도 흔치 않은 것 같다. 또한 3계층형을 저렇게 나누었지만 프리젠테이션을 정확히 어떻게 봐야할지도 애매하게 볼 수 도 있는 것 같다.
때문에 다시 한번 정리를 해야할 것 같다.
동기식과 비동기식을 얘기하게 되는 곳은 일단 어디일까?
프로그래밍에서 데이터를 처리하는 두 가지 모델이다.
데이터를 처리한다는 것은 = 데이터를 받는 방식이라고 생각할 수 있다.
동기식 은 특정 코드를 수행 완료한 후 다음 코드를 실행한다.
때문에 요청과 결과가 한번에 이루어진다.
설계가 간단하지만 결과가 주어질 때까지 대기해야 하므로 비동기식 보다 비효율적이다.
비동기식은 특정 코드를 수행하는 도중 다음 코드를 실행한다.
요청과 결과가 동시에 이루어지지 않고, 하나의 요청을 처리하는 동안 다른 요청도 처리 가능하다.
동기보다 복잡하고 결과가 주어지는데 시간이 걸리더라도 그동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다.
→ (+ 추가) 더 깊고 자세한 설명은 포스팅을 통해 다시 정리하였다.
생활 비유
해야할 일(task)가 빨래, 청소가 있다고 가정한다.
이 일들을 동기적으로 처리한다면 빨래를 하고 청소를 한다.
비동기적으로 처리한다면 빨래하는 업체에게 빨래를 시킨다. 청소 대행 업체에 청소를 시킨다. 둘 중 어떤 것이 먼저 완료될지는 알 수 없다. 일을 모두 마친 업체는 나에게 알려주기로 했으니 나는 다른 작업을 할 수 있다.
이 때는 백그라운드 스레드에서 해당 작업을 처리하는 경우의 비동기를 의미한다.
테코톡과 IT 인프라 구조 책을 읽으며 OSI 7 Layer에 관하여 포스팅을 재정리하였다.
그럴듯한 서비스 만들기 미션
OSI 7Layer 의 암기적인, 이론적인 측면을 기억하지말고, 왜 어디서 쓰이는지 를 이해해야한다.
그럴듯한 서비스 만들기 미션을 진행하면서 통신을 확인하는 방법 에 관하여 학습하고 포스팅을 진행하였었다.
그림으로 공부하는 IT 인프라 구조 서적을 읽으며 인프라에 관해 좀 더 이해할 수 있었다.
이와 관련하여 나의 말로 재정리를 해보기위해 포스팅을 진행할 예정이다.
[참조]
https://velog.io/@logandev/%EB%8F%99%EA%B8%B0%EC%99%80-%EB%B9%84%EB%8F%99%EA%B8%B0
https://juyeop.tistory.com/22