본문 바로가기

728x90
반응형

전체 글

(222)
Redis master-slave sentinel 도커로 올리기 Docker로 redis master-slave를 올리면서 sentinel을 적용해봤다. version: '3.8' services: redis1: image: bitnami/redis environment: - REDIS_REPLICATION_MODE=master # 복제보드 master/slave - REDIS_MASTER_HOST=redis1 # host의 이름이나 IP - REDIS_MASTER_SET=master # master이름 - REDIS_MASTER_PASSWORD=1234qwer # master 인증을 위한 비밀번호 - REDIS_PASSWORD=1234qwer # redis 비밀번호 - REDIS_TIMEOUT=0 # 클라이언트가 접속을 끊는 시간 (0은 끊지 않음) - REDIS_..
CPU 사용률 간단하게 모니터링(vmstat) CPU사용률은 애플리케이션의 성능을 나타내는 지표입니다. 성능을 개선하기 위해서는 기본툴을 사용할 줄 알아야 하는데요. 전체 호스트의 수준에서 수치가 나오지만 간단하고 빠르게 확인하기 좋은 방법을 소개해드리겠습니다. vmstat 1 vmstat 1은 스냅샷을 1초마다 찍어 결과를 표시합니다. (cntl + C로 멈출때까지) proc 섹션: 실행가능한(r) 프로세스, 블로킹된(b) 프로세스 개수 memory 섹션: 스왑 메모리(swpd), 미사용메모리(free), 버퍼로 사용한 메모리(buff), 캐시로 사용한 메모리(cache) swap섹션 : 디스크로 교체되어 들어간(스왑-인) 메모리(si), 디스크에서 교체되어 빠져나온 (스왑-아웃) 메모리(so) io섹션 : 블록-인(bi), 블록-아웃(bo)개수는..
Spring WebFlux 란 무엇일까 Spring WebFlux Spring Web MVC는 Spring Framework에 속해있는 오리지널 프레임워크로 Servlet API와 Servlet Containers를 위해 만들어졌다. Spring WebFlux는 Spring5에서 새롭게 추가된 모듈로 Reactive Stream, 백프레셔, 논블록킹 등을 지원하며 Netty, Undertow, 서블릿컨테이너에서 동작한다. 등장배경 적은 수의 쓰레드로 동시성을 처리하고, 적은 리소스로 확장할 수 있는 논블록킹 웹스택이 필요했다. 기존 Spring MVC에서 Servlet동작방식을 보면 Client에서 요청하면 서블릿 컨테이너가 받아서 서블릿으로 넘겨주게 된다. 서블릿컨테이너는 소켓도 관리하는데 서블릿에 요청을 전달할 때 Poller라는 개념을 ..
/bin/bash^M: bad interpreter: window환경에서 sh를 작성한 뒤 linux에서 실행하면 발생하는 문제이다. window의 개행문자를 linux에서 인식하지 못해서 생기는 에러. vi -b [파일명] ^M 문자 삭제 혹은 sed -i 's/\r$//' [파일명] 실행 두 가지 방법으로 해결할 수 있다.
$'\r': command not found 쉘스크립트 에러날 때 $'\r': command not found 에러는 windows에서 작성한 스크립트를 linux에서 실행할 때 발생하는 에러입니다. sed -i 's/\r$//' [파일이름] 이렇게 실행한 후에 다시 파일을 실행하면 정상 동작합니다.
Docker container <-> 호스트 간에 파일/폴더 복사 호스트와 도커 컨테이너간 파일/폴더 복사는 자주 사용하는 명령어입니다. 호스트파일을 Docker 컨테이너로 복사 docker cp : 예를 들어 /home/user/boot.jar파일을 컨테이너 내부에 /usr/loca/에 복사할 경우 docker cp /home/user/boot.jar container:/usr/local 컨테이너이름은 컨테이너 ID를 입력해도 된다. 컨테이너를 올릴 때 사용한 이름 혹은 ID사용하면 된다. 폴더복사 역시 마찬가지로 동일하게 사용가능하다. Docker컨테이너에서 호스트로 파일/폴더 복사 docker cp : 반대의 경우 복사할 파일의 경로를 먼저 입력하고 호스트 경로를 쓴다. 예를 들어 컨테이너 /usr/local/boot.jar파일을 호스트의 /home/user에 복..
AWS NACL vs SG(Security Group) 특징 차이점 NACL 네트워크 액세스 제어 목록 네트워크 ACL을 생성해서 VPC에 보안 계층을 추가할 수 있다. 서브넷에 대한 ACL로 VPC로 트래픽이 들어오면 NACL을 거쳐 서브넷에 배포된 인스턴스로 전송된다. 보안그룹(SG) 인스턴스/리소스에 트래픽을 제어하는 설정 보안그룹과 연결된 인스턴스의 인/아웃바운드 트래픽을 제어한다. 차이점 보안그룹 NACL 인스턴스/리소스 방화벽 서브넷의 방화벽 인스턴스에 적용 연결된 서브넷에 있는 모든 인스턴스에 적용(SG가 지나치게 허용적인 경우 추가적인 보안 계층을 제공) 허용 규칙만 지원 허용 및 거부 규칙 지원 트래픽 허용 여부 결정 전 모든 규칙을 평가함 트래픽 허용 여부 결정시 낮은 번호 규척부터 평가 상태 저장 : 규칙에 관계 없이 반환 트래픽 허용됨 상태 비저장 ..
DNS A레코드 vs CNAME DNS는 도메인네임서버이다. 클라이언트에서 도메인을 입력하면 DNS서버에서 해당 도메인의 ip를 찾아서 해당 서버로 연결이 가능하다. DNS에서 재귀확인자를 통해서 쿼리를 실행한다. DNS재귀확인자 DNS쿼리의 첫 단계로 재귀확인자는 클라이언트와 DNS네임 서버 사이의 중개자 역할을 한다. 클라이언트로 DNS쿼리를 받은 뒤 (캐시 데이터 리턴 혹은) ROOT네임서버로 전송, TLD네임서버 전송, 권한있는 네임서버로 전송 마지막으로 받은 응답을 클라언트로 보냄 마지막으로 전달받은 응답을 캐시함. ROOT 네임서버 DNS레코드를 요청하는 첫 단계로 해당 도메인 확장자(.com, .net, .org …)따라 재귀 확인자를 TLD네임서버에 보내 응답함 TLD네임서버 확장자를 공유하는 모든 도메인 이름의 정보를 ..

728x90
반응형