BACKEND

· BACKEND
쿠버네티스클러스터 > 노드 > 파드 > 컨테이너컨테이너화된 애플리케이션 배포, 관리, 확장 및 자동화된 운영을 위한 오픈소스 시스템이다. 주로 도커같은 컨테이너화 기술 사용해 애플리케이션을 배포하고, 이를 여러 서버에 분산시켜 관리할 수 있게 해준다.자동화된 확장 제공한다!트래픽이 급증하면 자동으로 prod를 늘릴 수 있음.트래픽이 줄어들면 자동으로 줄여 자원을 효율적으로 사용할 수 있는 자동 스케쥴링 기능이 있다.클러스터쿠버네티스 내 가장 큰 단위로, 가상 서버들이 속한 클라우드이다.쿠버네티스에서 서버는 노드라는 단위로 불린다.클러스터는 마스터노드 + 워커 노드를 합친 것이다.노드노드란 클러스터 내 가상 서버 = 컴퓨터 엔진 단위이다.클러스터 다음으로 큰 단위이고, 마스터 노드와 워커 노드로 분리되어 ..
· BACKEND
문제도커에 올려져있는 스프링부트를 SSL 연결하기 위해서 Nginx도 그냥 도커에 올리기로 했다.그런데, SSL 인증서 /etc/letsencrypt/ 를 도커 컨테이너에 마운트 하는 작업 때문에 애먹었다.해결 docker run -d --name nginx -p 80:80 -p 443:443 \ -v /etc/nginx:/etc/nginx \ -v /etc/letsencrypt:/etc/letsencrypt \ --network fitpass \ nginx그냥 이렇게 첨부터 마운트 해주면 된다.docker cp 하면 권한 문제 때문에 안 먹는다.
· BACKEND
문제서브 도메인 컬럼을 잘 등록했는데도, 아무리 nslookup api.fitpass.co.kr해도 매핑된 IP가 뜨지 않았다.  또, Cerbot에서 sudo certbot --nginx -d api.fitpass.co.kr 해도 certbot.errors.AuthorizationError: Some challenges have failed. 라며 DNS가 연결이 되지 않았다는 오류만 뱉었다. 이해가 되지 않아서 보안그룹을 확인해봤지만 443과 80 모두 잘 열려있었다.. 지피티한테 열심히 물어보니까 현재 ec2 우분투 서버가 DNS 해석을 제대로 하지 못하고 있다는 것이다. 이게 뭔 뜻이지 해서 cat /etc/resolv.conf 명령어로 DNS 해석을 확인해보니, nameserver 127.0.0..
· BACKEND
엔지닉스에 CORS 처리를 위한 Preflight 요청이 계속 204로 채가지길래 응 ?? 왜저러지?? 했는데 83.97.131.110 - - [02/Dec/2024:03:04:09 +0000] "OPTIONS /policy/bookmark/request HTTP/1.1" 204 0 "http://localhost:5173/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"183.97.131.110 - - [02/Dec/2024:03:04:44 +0000] "OPTIONS /policy/bookmark/request HTTP/1.1" 204..
미니 프로젝트 때문에 카카오 소셜 로그인을 구현하는데 WebFlux를 사용한다는 분들이 계셔서 차이점을 알아보기 위해 이 글을 작성한다. Rest Template스프링은 오랫동안 Rest Template 을 웹 클라이언트 추상화로 제공해 왔다. 나 역시도 Rest Template을 주로 써서 익숙했다. RestTemplate은 내부적으로 요청당 하나의 쓰레드 모델을 기본으로 하는 자바 서블릿 API를 사용한다. 이 말의 의미는? 자바 서블릿 API는 웹 클라이언트가 응답을 받을 때까지 해당 쓰레드가 차단된다. Rest Template 으로 요청한 한 응답이 끝나기 전까지 쓰레드가 차단된다는 뜻이다. 이 방식의 문제점은, 이렇게 차단된 코드로 인해 각 스레드가 어느정도의 메모리와 CPU 싸이클을 소비하기 ..
엔티티 매니저 팩토리엔티티 매니저를 통해서 웹 애플리케이션에서 고객 요청이 올 때마다 엔티티 매니저들을 생성한다.엔티티 매니저들은 내부적으로 데이터 커넥션 풀을 사용해서 디비를 사용한다.영속성 컨텍스트란 무엇일까?엔티티 영구 저장 환경→ JPA를 이해하는데 가장 중요한 용어entityManager.persist(entity);는 DB에 저장하는 게 아니라, 엔티티 매니저를 통해서 엔티티를 영속성 컨텍스트라는 곳에 저장한다는 뜻이다.영속성 컨텍스트의 개념영속성 컨텍스트는 눈에 보이지 않는 논리적인 개념이다.엔티티 매니저를 통해서 영속성 컨텍스트에 접근한다.엔티티 매니저 생성 → 영속성 컨텍스트 생성→ 1:1 로 생성이 된다.엔티티의 생명주기1. 비영속 (new/transient)영속성 컨텍스트와 전혀 관계..
chaerrii
'BACKEND' 카테고리의 글 목록