반응형 분류 전체보기72 Spring으로 개발하며 맞닥뜨린 CORS! 앞서, CORS에러 문제 해결방법에 대하여 설명하기 전에 CORS에 대하여 간략하게 설명하고자 합니다. 더 자세한 내용을 알고 싶다면 해당 페이지에서 확인하는 것을 추천드립니다. CORS란? 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행합니다. 위에 나온 시나리오를 요약해보았습니다. 클라이언트(=브라우저)의 웹 컨텐츠가 'https://foo.example'이고, https://bar.ot.. 2021. 12. 8. 인덱스 구조 및 탐색 with 친절한 SQL 튜닝 인덱스 탐색 과정 인덱스 탐색 과정은 수직적 탐색과 수평적 탐색, 두 단계로 이루어진다. 테이블에서 데이터를 찾는 방법은 크게 두 가지로 나누어진다. 1. 테이블 전체를 스캔한다. 2. 인덱스를 이용한다. 인덱스는 큰 테이블에서 소량 데이터를 검색할 때 사용한다. 온라인 트랜잭션 시스템에서는 소량 데이터를 주로 검색하므로 인덱스 튜닝이 중요하다. 인덱스 튜닝의 첫 번째 요소는 인덱스 스캔 과정에서 발생하는 비효율을 줄이는 것이고, 두 번째는 테이블 액세스 횟수를 줄이는 것이다. 이 두 가지 요소 중 더 중요한 것은 랜덤 액세스 최소화 튜닝이다. SQL 튜닝은 랜덤 I/O와의 전쟁이다. 기본적으로, 데이터 베이스 성능이 느린 이유는 디스크 I/O 때문이다. 읽어야 할 데이터량이 많고 그 과정에서 디스크 I.. 2021. 12. 5. 서비스와 스택 서비스 단일 도커 호스트에 대한 컨테이너 배포는 docker container run 명령으로 컨테이너를 일일히 실행하거나 컴포즈를 사용해 여러 컨테이너를 동시에 실행하는 방법이 있다. 어떤 특정한 문제를 해결하기 위해 만들어진 애플리케이션은 단일 컨테이너 혹은 여러 컨테이너로 구성될 수도 있으며 그것들이 복제된 집합으로 이루어졌을 수도 있다. 이렇게 애플리케이션을 구성하는 일부 컨테이너를 제어하기 위한 단위로 서비스라는 개념이 생겨났다. $ docker container exec -it manager \ > docker service create --replicas 1 --publish 8000:8000 --name echo registry:5000/example/echo:latest hbp13rv25.. 2021. 11. 29. 도커 스웜 컨테이너를 단일 도커 호스트에 배치하는 것은 쉽다. 그러나 많은 트래픽을 처리하는 시스템들은 대개 여러 컨테이너가 각기 다른 호스트에 배치된다. 도터 스웜은 여러 도커 호스트를 클러스터로 묶어주는 컨테이너 오케스트레이션 도구의 한 종류다. 이런 컨테이너 오케스트레이션 도구 없이는 도커 호스트 여러 대를 사용하는 확장성 있는 애플리케이션을 만들기가 매우 어렵다. 어느 도커 호스트에 어떤 컨테이너를 배치해야 하는지, 서로 다른 호스트에 위치한 컨테이너 간의 통신은 어떻게 제어하는지 등의 조율을 오케스트레이션 도구 없이 하기 힘들다. 이름 역할 대응하는 명령어 컴포즈 여러 컨테이너로 구성된 도커 어플리케이션을 관리(주로 단일 호스트) docker-compose 스웜 클러스터 구축 및 관리(주로 멀티 호스트) .. 2021. 11. 28. AWS RDS Backup AWS Backup RDS Backup And Restore RDS 생성시, 일반적으로 자동 백업(Automated Backup)을 설정할 수 있다. 자동 백업 활성화시, 매일 자동으로 데이터에 대한 완전한 스냅샷을 만들고, 트랜잭션 로그를 캡처한다. 전체 DB 인스턴스의 백업을 한다. 이 백업을 사용하면 보존 기간 내에 언제든지 특정 시점으로 복구(PITR) 수행이 가능하다. AWS Snapshot DB 인스턴스의 특정 시점을 스냅샷으로 생성한다. 자동으로 생성 가능하며, 수동으로도 생성 가능하다. 자동 생성된 스냅샷: 'RDS > 스냅샷 > 시스템' 에서 확인 가능 수동 생성된 스냅샷: 'RDS > 스냅샷 > 수동' 에서 확인 가능 스냅샷을 사용하여 새 DB 인스턴스를 생성 할 수 있다. 전체 백업.. 2021. 11. 13. 컨테이너 실전 구축 및 배포 도커를 사용하여 시스템을 구성한다는 것은 자신이 만든 애플리케이션 컨테이너와 도커 허브에 공개된 애플리케이션이나 미들웨어 이미지로 만든 컨테이너가 서로 협력하는 스택을 구축하는 것이다. 실제 운영에서는 애플리케이션을 컨테이너 안에 어떻게 배치하는지가 매우 중요하다. 컨테이너 하나가 맡을 수 있는 적정 수준의 책임 등 다양한 측면을 고려해야한다. 1. 컨테이너 1개 = 프로세스 1개? 도커는 애플리케이션 배포에 특화된 가상화 기술이기 때문에 웹 애플리케이션과 상주 애플리케이션 프로세스 하나를 하나의 컨테이너로 만드는 방식이 괜찮게 생각될 수 있다. 만약, 정기적으로 어떤 작업을 실행하는 컨테이너의 경우 스케줄러와 작업이 합쳐진 애플리케이션을 만든다면 컨테이너 1개 = 프로세스 1개 원칙을 지킬 수 있다. .. 2021. 10. 31. 이전 1 2 3 4 5 6 7 8 ··· 12 다음 반응형