- Monolithic Architecture : 모놀리식 아키텍처
하나의 서버에 서비스와 머신러닝 서비스가 한 번에 담겨있을 수도 있고, - Microservice Architecture : MSA: 마이크로서비스 아키텍처
서비스 서버와 머신러닝 서버가 따로 존재할 수도 있다
각각 개별 서버로 구성
fast api는 MSA를 만들 때 좋은 framework이다.
Rest API : Representational State Transfer
: 정보를 주고받을 때 널리 사용되는 형식
: Rest 형식의 API
- 요청의 모습을 보고 어떤 일을 하는지 알 수 있음
예를 들어 www.site.com/1 이면 1이 무엇을 의미하는지 알기 힘들다. - CRUD(Create Read Update Delete) 가능
- 클라이언트가 요청을 서버에 하면 response로 받는다
- Resource, method, representation of resource로 구성
- Resource : unique한 id를 가지는 리소스
- URI : Uniform Resource Locator
인터넷 상 자원의 위치
ex)www.google.co.kr - URL : Uniform Resource Identifier
인터넷 상의 자원을 식별하기 위한 문자열의 구성
URI에 포함됨
- URI : Uniform Resource Locator
- Method : 서버에 요청을 보내기 위한 방식
- GET : 정보 요청 : read
- URL에 변수(데이터)를 포함시켜 요청
- header에 포함되어 보안에 취약
- 캐싱가능
- POST : 정보 입력 : create
- URL에 변수(데이터)를 포함시키지 않음
- body에 포함되어 기본 보안은 됨
- 캐싱 불가
- PUT : 정보 업데이트 : update
- PATCH : 정보 업데이트 : update
PUT 과 달리 미묘한 차이가 있음 - DELETE : 정보 삭제 : delete
- GET : 정보 요청 : read
- Resource : unique한 id를 가지는 리소스
HTTP : Hyper Text Transfer Protocal
: 정보를 주고 받을 때 지켜야하는 통신 프로코톨
기본적으로 80번 포트 사용함
Header와 Body
- http 통신 시 Packet를 주고 받고, packet은 header와 body로 이루어짐
- header : 보내는 주소, 받는 주소, 시간
- body :실제 전달하려는 내용
Status Code
클라이언트 요청에 따라 서버의 반응을 알려주는 code
- 1xx : 정보 : 요청을 받고, 프로세스를 계속 진행
- 2xx : 성공 : 요청을 성공적으로 받고 실행함
- 3xx : 리다이렉션 : 요청 완료를 위해 추가작업 필요
- 4xx : 클라이언트 오류 : 요청 문법이 잘못되거나 처리할 수 없음
- 5xx : 서버 오류 : 서버가 요청에 대해 실패
동기와 비동기
- 동기 : Sync
- 서버에서 요청을 보낸 것이 돌아와야 다음 작업 실행
- ex) jupyter notebook
- 비동기 : Async
- 요청의 응답 상태와 상관없이 다음 작업을 실행
- 병렬적으로 가능
IP : Internet Protocol
- 네트워크에 연결된 PC 주소 체계
- 4덩이의 숫자를 0~255까지로 이루어짐 -> IPv6으로 진화
- localhost : 127.0.0.1
- broadcast address : 0.0.0.0, 255:255:255:255
로컬 네트워크와 접속된 모든 장치와 소통 가능한 주소
Port
- IP 주소 뒤의 숫자
- PC에 접속할 수 있는 통로
- 포트는 중복해서 사용할 수 없음
- 0 ~ 65535 까지 존재하는 데 0~1024는 통신을 위해 정해져 있음
- 22: SSH, 80: HTTP, 443 : HTTPS
'부스트캠프 AI Tech 3기 > 프로젝트 : P-stage' 카테고리의 다른 글
[Day90] Product Serving 3-1 FastAPI : FastAPI (0) | 2023.02.14 |
---|---|
[GCP] compute engine 예기치 않은 오류로 인해 VM 인스턴스에 연결할 수 없습니다 (0) | 2022.05.30 |
[Day90] Product Serving 2-5 CI/CD (0) | 2022.05.30 |
[GCP] bucket의 객체 삭제,서비스 계정 키 발급 & 환경변수 설정 (0) | 2022.05.25 |
[Day86] Product Serving 2-4 Cloud (0) | 2022.05.25 |