분류 전체보기
-
[AWS] ECS (Elastic Container Service)클라우드/aws 2021. 7. 14. 15:09
ECS 컨테이너화된 애플리케이션의 손쉬운 배포, 관리 및 조정에 도움이 되는 완전관리형 컨테이너 오케스트레이션 서비스 AWS Fargate의 서버리스 기술을 활용하여 자율 컨테이너 운영을 제공 구성, 패치 적용 및 보안에 소요되는 시간을 줄일 수 있음 ECS 장점 클러스터를 관리하기 위한 별도의 인스턴스를 구성 & 관리하지 않아도 되고, 클러스터 관리에 대한 추가 비용이 없음 AWS에서 만든 서비스이기 때문에 다른 AWS 서비스와 연동 지원 AWS Fargate의 서버리스 기술을 활용하여 자율 컨테이너 운영을 제공 ECS 주요 개념 Cluster 도커 컨테이너를 실행할 수 있는 컨테이너 인스턴스의 논리적인 공간 컨테이너 인스턴스? 도커가 설치된 컨테이너 인스턴스에서 도커 컨테이너가 실행됨 컨테이너 인스턴..
-
[Kafka] Kafka란?오픈소스/kafka 2021. 7. 5. 22:37
Kafka 여러 대의 분산 서버에서 대용량의 메세지를 처리하는 분산 메세징 시스템 특징 스트리밍 데이터를 다루는 미들웨어 가용성과 확장성 데이터 영속성 Pub/Sub 모델 지원 Kafka 구성 요소와 특징 Topic과 Partition 메세지는 Topic으로 분류되고, Topic은 여러 개의 Partition으로 나눠질 수 있다. Partition 내의 한 칸을 로그라고 하고, 데이터는 한 칸의 로그에 append 된다. 메세지의 상대적 위치를 나타내는 것이 offset이다. 여러 개의 Partition을 나누는 이유? 여러 개의 Partition을 두면 쓰기가 병렬로 처리됨 한 번 늘린 파티션은 절대로 줄일 수 없기 때문에 파티션을 늘릴 때 충분히 고려되어야 한다. Producer와 Consumer P..
-
[MongoDB] MongoDB란?데이터베이스/mongodb 2021. 7. 4. 19:53
NoSQL Not Only SQL NoSQL 탄생 배경 수평 확장 가능한 분산 시스템 Schema-less 완화된 ACID MongoDB MongoDB C++로 짜여진 오픈 소스 데이터베이스 문서 지향적(Document-Oriented)으며 뛰어난 확장성과 성능을 자랑 MongoDB 특징 가용성, 확장성, 성능 Document 기반 데이터베이스 Database > Collection > Document > Field 계층으로 이루어 짐 ObjectId (12 bytes) - UNIX Timestamp (4 bytes) + Random Value (5 bytes) + Count (3 bytes) RDBMS의 Primary Key와 같이 고유한 키를 의미 차이점은 Primary Key는 RDBMS가 직접 부..
-
[git] command line 명령어관리 배포/git 2021. 7. 2. 10:15
원격 저장소 branch 최신 사항 업데이트 $ git remote update branch 리스트 확인 # 원격 저장소의 branch 리스트 출력 $ git branch -r # 로컬, 원격 저장소의 모든 branch 리스트 출력 $ git branch -a 원격 저장소의 branch 가져오기 # 원격 저장소의 branch 이름과 동일하게 로컬 저장소에 branch 생성 $ git checkout -t origin/develop # 원격 저장소의 branch를 가져와서 특정 이름으로 로컬 저장소에 branch 생성 $ git checkout -b [생성할 branch 이름] [원격 저장소의 branch 이름] 원격 저장소에 Pull, Push 시 username, password 생략하기 $ git c..
-
[네트워크] CORSCS/네트워크 2021. 7. 1. 15:16
CORS (Cross-Origin Resource Sharing) 다른 출처 간의 리소스 공유 CORS는 브라우저의 구현 스펙에 포함되는 정책 출처 서버를 찾아가기 위해 가장 기본적인 것들을 합쳐 놓은 것 프로토콜 + 호스트 + 포트 http://uchupura.tistory.com:80 CORS 동작 절차 브라우저에서 요청을 보낼 때 요청 헤더에 Origin이라는 필드에 요청을 보내는 출처를 함께 담아 전달 서버가 이 요청에 대한 응답을 할 때 응답 헤더의 Access-Control-Allow-Origin 필드에 "이 리소스를 접근하는 것이 허용된 출처" 정보를 담아 전달 브라우저에서는 요청 시 보냈던 Origin 필드와 응답으로 받은 Access-Control-Allow-Origin 필드를 비교하여 ..
-
[JAVA] GC 튜닝CS/개발 언어 (JAVA) 2021. 6. 26. 11:27
GC 튜닝의 두 가지 목적 Old 영역으로 넘어가는 객체의 수 최소화 하기 G1 GC를 제외한 Oracle JVM에서 지원하는 모든 GC는 Generational GC이다. Eden 영역에서 객체가 처음 만들어지고, Survivor 영역을 오가다가, 끝까지 남아 있는 객체는 Old 영역으로 이동한다. Old 영역의 GC는 Young 영역의 GC에 비하여 상대적으로 시간이 오래 소요되기 때문에 Old 영역으로 넘어가는 객체의 수를 줄이면 Full GC가 발생하는 빈도를 줄일 수 있다. Young 영역의 크기를 잘 조절함으로써 효과를 볼 수 있다. Full GC 시간 줄이기 Full GC 실행에 시간이 오래 소요되면(1초 이상) 연관된 여러 부분에서 타임아웃이 발생 할 수 있다. Old 영역의 크기를 줄이면..
-
[Redis] centos redis-cli 설치오픈소스/redis 2021. 6. 25. 12:28
Redis를 설치 후 정상적으로 설치되어 있는지 확인해보기 위해서 Redis CLI를 설치해서 접속해보는 방법에 대해서 알아보겠습니다. Step01. make를 하기 위해 gcc를 설치 $ sudo yum install -y gcc Step02. redis-cli 설치 및 make $ sudo wget http://download.redis.io/redis-stable.tar.gz && tar xvzf redis-stable.tar.gz && cd redis-stable && make Step03. redis-cli를 /usr/bin에 추가해서 어느 위치에서든 사용 가능하도록 등록 $ sudo cp src/redis-cli /usr/bin Step04. 설치가 끝나면 Redis가 정상적으로 설치되어 구동..