웹(web)/백엔드 기초
-
ioredis 레디스 클러스터 설정웹(web)/백엔드 기초 2023. 11. 21. 18:38
레디스는 메모리 캐시로 disk i/o 에 비해 속도상 이점이 있으므로 빠른 처리를 필요로 할 때 이용할 수 있다. useCase로는 chat, response cache, 자주 조회되는 데이터, session manager, pub-sub 등 다양하다. (공식문서 참고: https://redis.com/solutions/use-cases) 레디스를 클러스터 방식으로 사용하는 이유는 클라이언트 입장에서 레디스가 죽지 않고 계속 서빙되도록 하기 위함이다. 최소 3개 이상의 master를 두어야하며 몇 가지 제약사항이 따른다. 이를 통해, 안정적인 레디스 서비스를 제공할 수 있다. nodejs 런타임에서 ioredis를 이용하여 클러스터를 설정하고자 하였는데 찾기가 어려웠다 단일 노드에 대한 사용은 많이 나..
-
Ubuntu screen 사용법웹(web)/백엔드 기초 2021. 8. 22. 13:52
ubuntu환경의 ec2를 생성하게 되면 ssh 등으로 ec2에 접속하여 프로그램을 구동시킨다. 이 때, ssh가 종료되어도 ec2에서 프로그램을 계속 구동하고 싶을 때 screen을 사용할 수 있다. Insatll Screen apt-get install screen Session 리스트 확인 screen은 session 단위로 관리하는 방식이다. screen -ls Screen 생성 screen -S [session-name] : screen-name을 이름을 지정하여 실행 ex. `screen -S django` Screen 진입 및 탈출 screen -r [session-name] : 실행중인(Detached) screen 세션으로 재 진입 screen -x [session-name] : 실행중인..
-
Web server웹(web)/백엔드 기초 2020. 6. 30. 18:43
소프트웨어 구조에서 보면 다음과 같은 구조이다. 하드웨어 관점에서는 Web Server와 Web app server를 한 HW로 운영할 수도 있다. Client Web Server Web application server DB server HTTP HTTP 웹서버는 정적페이지를 제공한다. 동적 페이지가 요청된 경우 Web application 측에 요청을 한 후 응답을 받아 Client에게 전달한다. 웹 어플리케이션은 동적페이지를 처리하고 디비와 연동한다.
-
HTTP Protocol Method웹(web)/백엔드 기초 2020. 6. 30. 18:20
웹은 HTTP프로토콜을 사용하여 작동한다. 즉, 네트워크 5계층에서 Application Layer에서 HTTP 프로토콜을 사용하는 것이다. 우리가 naver.com이라고 주소창에 입력하면 이 주소를 바탕으로 네이버 서버 쪽에 요청메세지를 날리고 그 응답을 브라우저가 화면에 표시해주는 것이다. 웹에서는 요청메세지를 보내고 응답을 받는 방식을 HTTP라는 규칙을 사용한다. 정확하게는 dns 서비스를 거치고 나서 HTTP 를 주고 받는다. 작동하는 방식은 매우 간단하다. 브라우저(클라이언트)가 요청메세지(Request)를 날리면 웹 서버가 응답메세지(Response)를 주는 방식이다. Request 브라우저가 서버에게 어떤 요청을 보낼 것이다. 이 요청에 대한 규칙을 이해해보자. Method URL Vers..