본문 바로가기

728x90

인프라

(22)
stateless v.s. stateful service 출처: https://5equal0.tistory.com/entry/StatefulStateless-Stateful-vs-Stateless-%EC%84%9C%EB%B9%84%EC%8A%A4%EC%99%80-HTTP-%EB%B0%8F-REST [Stateful/Stateless] Stateful vs. Stateless 서비스와 HTTP 및 RESTContents 0. Prologue 1. Stateful Service 2. Stateless Service 3. Why Stateless Service 4. Stateless Service 및 HTTP, 그리고 REST Stateful/Stateless 서비스의 개념을 알아보고, 이를 바탕으로 Stateless 서비스가 최근 각광 받는 이5equal0.tis..
API gateway와 LoadBalancer 뭐가 다른가?? 둘 다 여러 서버 제일 앞에 위치하여 트래픽을 특정 서비스로 보내주니, 제대로 알기 전에는 비슷하다고 생각한 것 같다. 우선 둘에 대한 정의를 살펴보면 API gateway는 클라이언트의 요청을 적절한 내부 서비스로 라우팅하는 역할을 한다.load balancer는 여러 서버 간의 트래픽을 균등하게 분산시켜 시스템의 안정성을 유지한다. 즉, Api Gateway는 클라이언트가 API를 요청하면 요청한 API가 위치한 서비스로 보내주는 것 요청을 보내고 이에 대한 답을 얻는 다.근데 만약 해당 API가 여러 동일한 서버에 위치한다면? 한 서버를 scale out한 것이라면? 어느 곳으로 갈까?api gateway는 round-robin으로 보낼 수도 있고, 원하는 곳으로 보낼 수 도 있다.  즉, API ..
Load Balancer L7이 L4보다 느린 이유 L4OSI모델에서 전송 계층에서 동작하며, 패킷의 IP 주소와 포트 번호와 같은 TCP/UDP 헤더 정보만을 기반으로 트래픽을 분산빠르고 간단하지만 세부적인 요청내용을 기반으로 한 분산은 불가능L7OSI모델에서 애플리케이션 계층에서 동작하며, HTTP(S)의 트래픽을 분석하고, 요청의 내용을 바탕으로 어떻게 트래픽을 분산할지를 결정URL 기반 라우팅URL을 분석함URL이 ‘example.com/blog‘ 이렇다면, “블로그 서버”로 보냄URL이 ‘example.com/shop’ 이렇다면, “쇼핑 서버”로 보냄쿠키 기반 라우팅사용자의 쿠키에 저장된 정보를 확인하여, 특정 사용자 그룹을 특정 서버로 보냄헤더 기반 라우팅특정 HTTP 헤더에 따라 트래픽을 나눔모바일 기기에서 오는 요청은 모바일 서버로 보냄세부..
DNS 레코드란? DNS(Domain Name Service) Record란 dns에 저장된 정보 조각입니다.해당 정보로 인터넷 상에서 도메인 이름을 ip주소로 변환하는 데 사용되며,이를 통해 사용자가 웹사이트에 접속할 수 있게 됩니다.  DNS 레코드의 종류는 여러가지가 있으며 아래는 자주 쓰이는 DNS 레코드 종류 입니다.A 레코드 (Address Record): 도메인 이름을 IPv4 주소로 매핑합니다.AAAA 레코드 (Quad-A Record): 도메인 이름을 IPv6 주소로 매핑합니다.CNAME 레코드 (Canonical Name Record): 하나의 도메인 이름을 다른 도메인 이름으로 매핑합니다. 주로 별칭을 만드는 데 사용됩니다.MX 레코드 (Mail Exchange Record): 도메인의 이메일을 처리할..
네임서버란? 네임서버(즉, DNS, Domain Name Server)는 IP주소와 도메인 주소를 연결해주는 역할이다.주소창에 도메인을 입력할 때, 지정된 네임서버를 통해, 해당 도메인과 연결된 IP주소를 확인하여 연결한다.  DNS 작동방식웹 브라우저에 도메인 입력 시 Recursive 네임 서버 ( ex) 통신사)에서 해당 도메인에 대한 IP 주소 캐시데이터가 있는 지 확인 후, 있으면 반환, 없으면 Root 네임서버로 요청Root 네임서버에서 도메인을 받아 TLD(최상위 도메인)을 판단하여 Recursive 네임 서버로 보냄최상위 도메인com 같은 것Recursive 네임 서버는 TLD 네임 서버에게 요청을 보내며 실제 IP 주소를 가지고 있는 Authoritative 네임 서버 정보를 Recursive 네임 ..
MySQL과 PostgreSQL의 차이점 차이점mysql관계형 데이터베이스계층적으로 인덱싱된 데이터를 저장하는 b-트리, r-트리 인덱싱 지원postgres객체 관계형 데이터베이스더 많은 기능을 제공데이터 유형, 확장성, 동시성, 데이터 무결성이 더 뛰어남모든 구성에서 ACID(원자성, 일관성, 격리성, 지속성)과 완벽호환동시성 제어인덱스 유형은 트리, 표현식 인덱스, 부분 인덱스, 해시 인덱스가 포함언제 쓰면 좋은 가?postgres쓰기가 빈번쿼리가 복잡한 엔터프라이즈 급 앱에 적합mysql프로토타입생성시사용자 수가 적은 내부 앱쓰기보단 읽기가 더 많을 때learning curvepostgres초보자에게 어렵다mysql초보자에게도 쉽다
SSL 이란? SSL이란?SSL(Secure Socket Layer)은 인터넷 트래픽을 암호화하고 서버 신원을 확인하기 위한 프로토콜http가 아닌 https의 웹주소를 가진 모든 웹사이트는 SSL/TLS를 사용SSL 작동방식웹에서 전송되는 데이터들을 모두 암호화두 통신장치 사이에 핸드쉐이크라는 인증프로세스로 두 장치의 ID를 확인데이터가 의도된 수신자에게 도착하기전에 조작되지 않음을 디지털 서명을 통해 증명함데이터 무결성 증명SSL 과 TLSSSL은 TLS의 이전버전버전은 별로 다르지 않지만, 소유권자가 바뀌면서 이름이 변경됨
AWS STS란? AWS STS의 STS는 Security token service의 약자로 말 그대로 보안 토큰을 제공해주는 서비스이다.보안 토큰에는 각 서비스에 대한 엑세스 권한이 주어진다.즉, 사용자는 sts를 사용해서 임시 (15분~36시간) 동안 특정 서비스 (s3, ec2…)에 대한 엑세스 권한을 얻게 되는 것이다. sts를 하는 방법 중에 하나가 assume role이다.assume role이란 특정 role을 임시로 빌려서 사용하는 것이다.그 role이 가지고 있는 권한을 사용가능하다.  assume role을 하는 방법은 간단하다.cli로aws sts assume-role 하고 —role-arn 옵션과 —role-session-name을 입력하면 된다.즉, 이런식으로$ aws sts assume-role ..

728x90