본문 바로가기

CS16

ep 04. Blocking/Non-blocking Blocking & Non-blocking - 처리하는 작업이 전체적인 작업 흐름을 막냐/안 막냐에 대한 관점 👉 제어권이 누구한테 있는 지가 중요함 개념 Blocking 👉 자신의 작업을 진행하다 다른 작업이 시작되면 다른 작업이 끝날 때까지 기다리다 자신의 작업을 다시 시작하는 것 Non-blocking 👉 다른 작업에 관련없이 자신의 작업을 진행하는 것 블로킹의 단계 A함수가 B함수를 호출함 👉 제어권 : A to B B가 함수 실행함. A함수는 멈춤 👉 제어권: B B함수가 끝남. 다시 A가 함수 실행 👉 제어권: B to A 논블로킹의 단계 A함수가 B함수 호출함 👉 제어권 : A B함수가 실행, 이때 A도 실행중임 👉 제어권: A 더 깊이 동기 & 비동기 - 함수 A가 B를 호출한 뒤, 함수 .. 2022. 11. 28.
로드 밸런싱 서사 어떠한 서비스를 시작해 그 서비스의 이용자가 늘고 규모가 커지게 되면 어느 순간 기존의 서버만으로 벅찬 순간이 찾아오게 된다. 이 때의 해결책으로 크게 두가지고 나뉘게 된다. Scale-up : 기존 서버 성능을 확장하는 방식 Scale-out : 기존 서버와 동일 or 낮은 성능의 서버를 증설하는 방식 이 때 SCale-out 방식을 선택하게 된다면, 여러 대의 서버로 트래픽을 균등하게 분산해주는 로드 밸런싱이 반드시 필요하게 됨 로드 밸런싱 - 서버가 처리해야할 업무 or 요청을 여러 대의 서버로 나누어 처리하는 것을 의미 (한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리하기 위한 목적) 로드 밸런싱 기법 라운드로빈 방식(Round Robin Method) - 서버에 들어온 요청을 순서대로.. 2022. 11. 20.
TLS/SSL HandShake TLS(Transport Layer Security) - 인터넷에서 정보를 암호화해 송수시하는 프로토콜 - 암호화, 인증, 무결성 등 담당함 암호화 : 3자로부터 전송되는 데이터를 숨김 인증 : 정보를 교환하는 당사자가 요청된 당사자임을 보증 무결성 : 데이터가 위조 및 변조되지 않았는지 확인 TLS VS SSL - TLS는 Netscape가 개발한 SSL 이라 불리는 이전의 암호화 프로토콜에서 발전한 것 HTTPS 와의 차이점 HTTPS는 HTTP 프로토콜 상위에서 TLS 암호화를 구현한 것 모든 웹사이트 및 다른 웹 서비스에 사용됨 -> HTTPS 를 사용하는 웹 사이트는 TLS 암호화를 이용하는 것 TLS Handshake - TLS를 사용하는 통신 세션을 시작하는 프로세스 - TLS 핸드셰이크 중.. 2022. 11. 20.
HTTP GET vs. POST HTTP는 HTTP 메소드라는 것을 통해 클라이언트가 서버에게 사용자 요청의 목적이나 종류를 알려준다. 최초에는 GET 메서드만이 존재했다. GET GET메소드는 리소스를 조회하는 용도로 사용되며, 서버에 전달하고 싶은 데이터는 query를 통해 전달된다. 메시지 바디를 사용해 데이터를 전달할 수 있지만, POST 메서드가 존재하며, 지원하지 않는 곳이 많아 권장 되지 않는다. ex) 페이지 조회 등 POST POST메소드는 데이터 요청을 처리하고, 메시지 바디를 통해 서버로 데이터를 전달하는 용도로 사용된다. 신규 리소스를 등록하거나 프로세스 처리 등에 사용된다. ex) 회원가입, 로그인 등 2022. 11. 13.