전체 글39 [Web] DNS (Domain Name System) DNS (Domain Name System) : 유저가 입력한 Domain 주소를 숫자인 IP 주소로 변환하는 과정을 담당하는 시스템 특징 1. Hierarchical 2. Decentralized 사용하는 이유 1. 서버의 IP는 변할 수 있다. 2, 문자 주소를 사용할 수 있다. 중요 구성 요소 - Domain Name Server (DNS server) : 도메인 이름과 숫자를 매치시키는 DNS directory는 여러 곳에 분포함 DNS Server끼리 정기적으로 중복 제거 및 업데이트를 위해 커뮤니케이션함. - Recursive DNS Server vs Authoritative DNS Server Recursive DNS Server Browser는 유저의 요청을 받아, 가장 먼저 Recursi.. 2021. 10. 1. [Web] Session과 Cookie HTTP (HyperText Transfer Protocol)는 Connectionless & Stateless Protocol이다. Connectionless : Server는 Client에 응답 후 접속을 끊음 (HTTP 1.1에서 Connection Header에서 keep-alive를 설정하면 Connection 유지가 가능함) Stateless : Server는 Client의 상태 정보를 알 수가 없다. 서로 연관된 request를 추적하는 방법 자체가 HTTP에서는 정의되지 않았다. 각각의 request는 독립적인 것으로 간주된다. 그러나, 로그인과 같은 상태를 파악할 수 있어야, request에 적절한 response를 전송할 수 있다. (This requires identifying a u.. 2021. 9. 30. [Java] synchronized Synchronized의 목적 동시에 여러 작업을 할 수 있는 multi-thread 프로그래밍에 대해 이해하는 것은 중요하다. 그러나, thread가 동일한 resource에 의도대로 access 할 수 있도록 보장되어야 한다. OS에서의 mutex, semaphore, critical section이나, DB의 데이터 무결성 (Integrity)도 분야는 다르지만 비슷한 개념이다. Java에서는 thread가 동일한 resource에 접근하는 것을 막기 위해 synchronized를 사용할 수 있다. Thread는 Class의 멤버 변수에 접근할 수 있다. 이는 멤버 변수가 heap에 저장되기 때문이다. (static으로 선언한 변수 -> static 메모리에 저장 / method의 로컬 변수 -> .. 2021. 9. 28. [Deployment] 무중단 배포란? 우리가 흔히 사용하는 서비스들도 끊임없이 수정을 할 것이다. 개발한 이후, 수정한 내용을 배포하는 동안 서비스가 정지되지 않는다. 그럴 수 있는 이유는 무엇인가? 바로 무중단 배포라는 개념이 있기 때문이다. 과거에는 배포라는 것이 아주 큰 이벤트였기 때문에, 배포일에는 사용자가 적은 새벽 시간에 개발자들이 모두 남아 배포 준비를 하였다. 배포라는 것은 서비스를 정지한 이후에 진행될 수 있었다. 서비스를 정지하지 않고 배포할 수 있는 방법을 찾게 되었고, 이 개념을 무중단 배포라고 한다. 방법 1. AWS에서 블루 그린 (Blue-Green) 무중단 배포 2. Docker를 이용한 웹 서비스 무중단 배포 3. L4 스위치를 이용한 무중단 배포 (고가의 장비) 4. Nginx를 이용한 무중단 배포 Nginx.. 2021. 9. 22. 이전 1 2 3 4 5 6 7 8 ··· 10 다음