전체 글 208

[DB] 분산 컴퓨팅 (Hadoop)

Hadoop대용량 데이터에 대한 분산처리 하는 오픈소스 자바 프레임워크기능대용량 데이터 저장    → HDFS데이터들을 이용해 연산 수행     → MapReduce HDFS ( Hadoop Distributed File System, 하둡 분산형 파일 시스템)네임 노드Master Node어떤 데이터 노드가 각 파일 블록을 관리하는지 등 파일 시스템에 대한 메타데이터를 보관 Worker Node 간 저장 공간 분할, 데이터 저장 위치 관리데이터 노드Worker Node파일 읽기 및 쓰기를 위해 통신 한 데이터(블록)는 여러 데이터 노드 간 분산되어 저장 및 처리네임 노드에게 3초마다 Heart Beat를 보냄. Heart Beat에는 디스크 가용 공간, 데이터이동, 적재량 등의 정보가 들어있음. Hand..

DB 2024.07.01

[DB] 분산 컴퓨팅 (샤딩)

참고 사이트https://aws.amazon.com/ko/what-is/database-sharding/   아키텍처 패턴 (분산 컴퓨팅) 분산 컴퓨팅 (Ditributed Computing)하나의 대형 컴퓨터에서 처리할 작업을    지역적으로 분산된 여러 개의 컴퓨터를 묶어서 네트워크를 통해 분산 처리성능 확대 및 고가용성 샤딩(Sharding)하나의 대규모 분산 데이터베이스 시스템에서  여러 서버에 데이터를  분산 저장하는 기술여러 개의 DB에 쪼개서 저장파티션과 유사 개념DB별 병렬처리 가능데이터 세트를 쪼개서 분산하여 여러 샤드에 저장   → 병목 현상 해결!비공유 아키텍처 기반  → 각 물리적 샤드는 독립적으로 작동하여 다른 샤드 인식X 샤딩이 중요한 이유데이터베이스의 병목 현상을 해결하기 위해..

DB 2024.07.01

아키텍처 패턴 (Cloud)

서버리스 아키텍처 패턴"서버"가 하나도 없이 클라우드의 서비스로 구축한 서버리스 아키텍처웹 페이지 등 정적 컨텐츠는 S3에 저장동적 컨텐츠는 API Gateway에서 트리거를 받아 Lambda가 실행  아키텍처 패턴 (분산 컴퓨팅) 분산 컴퓨팅 (Ditributed Computing)하나의 대형 컴퓨터에서 수행하던 기능을 지역적으로 분산된 여러 개의 컴퓨터에 분담시킨 후, 네트워크를 통해 통신 및 처리하는 방식여러 대의 컴퓨터를 연결하여 서로 상호작용하게 함성능 확대 및 고가용성  Hadoop

CodeSeries를 활용한 CI/CD - TroubleShooting

An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied참고 사이트: https://sarc.io/index.php/aws/1588-s3-bucket-sync S3 Access 권한이 없어서 뜨는 문제이다.AWS CodeBuild가 S3 Access 권한을 가지고 있어야 한다. CORS ERROR 프론트 버킷(website s3) : 정적 웹 호스팅용파일 버킷 (content s3) : 프론트 웹에 담긴 파일들 보관용 현재 상황파일 버킷(content s3)의 CORS 설정: 프론트 버킷(website s3)에서 파일 버킷(content s3) 접근 가능필요한 상황백엔드 코드에서 API 호출을 통해 파일..

AWS/Project 2024.07.01

리눅스 주요 시스템 폴더 역할

작성중 디렉터리 구조  주요 디렉토리 설명디렉터리 명설명/bin실행 파일(binary)들이 모여 있음부팅에 필요한 명령어 등 시스템 운영에 필요한 기본 명령어 저장/boot부팅 관련 파일 디렉터리커널 이미지와 부팅 정보 파일 저장/dev장치 관련 파일 디렉터리하드디스크 장치 (/dev/sda), CD-ROM(/dev/cdrom) 파일 존재/dev/null: blackhole로 사용. 어떤 데이터도 이 장치에 보내면 모두 없어짐. 화면에 아무것도 출력하지 않기를 바랄 경우, /dev/null로 보냄/etc시스템 설정 파일 디렉터리/etc/sh: shell이 시스템에 부트되면 자동적으로 실행되는 스크립트 (crond, inetd 프로그램 백그라운드로 실행)/etc/fstab: 마운트/etc/init: 부팅시..

CodeSeries를 활용한 CI/CD 구성 (Backend Pipeline)

구성도Backend CI/CD Pipeline CodeCommit에 Dev, Prod 브랜치 생성 (two-branch 전략) 환경별(Dev,Prod) 프론트, 백엔드 파이프라인 구성 (총 4개)  -- 이 페이지에서는 백엔드파이프라인만 설명!CodeBuild는 buildspec.yml(dev-buildspec.yml과 prd-buildspec.yml)을 통해 빌드 및 테스트 진행CodeDeploy는 appspec.yml을 통해 S3 내 아티팩트를 가져와 EC2 및 Auto Scaling Group에 배포Dev 환경은 EC2에 In-place 배포, Prod환경에서는 Auto Scaling Group에 Blue/Green 배포 전략 상이함* CodePipeline은 승인자의 허가에 의해 진행된다. 이 글..

AWS/Project 2024.06.28

CodeSeries를 활용한 CI/CD 구성 (Frontend Pipeline)

구성도Frontend CI/CD PipelineCodeCommit에 Dev, Prod 브랜치 생성 (two-branch 전략)dev 환경은 dev 브랜치에서 개발 및 검증 진행. 이후 master 브랜치에 병합하여 prod 환경 배포 예정 환경별(Dev,Prod) 프론트, 백엔드 파이프라인 구성 (총 4개)  -- 이 페이지에서는 프론트 파이프라인만 설명하겠음!!CodeBuild는 buildspec.yml(dev-buildspec.yml과 prd-buildspec.yml)을 통해 빌드 및 테스트 진행CodePipeline에서 배포 단계는 각 환경별 S3 버킷으로 정적 웹사이트 배포 * CodePipeline은 승인자의 허가에 의해 진행된다.  이 글 내용은 Frontend CI/CD Pipeline 구성..

AWS/Project 2024.06.28

[ElasticSearch] 개념

참고 블로그 https://esbook.kimjmin.net/07-settings-and-mappings/7.2-mappings https://ym1085.github.io/elasticsearch/Elastic-Stack-기본개념/https://velog.io/@sung-ik-je/ElasticSearch#index-1 ElasticSearch실시간으로 데이터 저장, 분석, 검색 엔진Java 오픈소스루씬(lucene) 이라는 검색 라이브러리를 기반으로 만들어짐수평적으로 확장 가능검색을 위해 단독으로 쓰이기도 하며, ELK 스택으로 사용되기도 함버전 7 부터는 jdk가 포함되어 있어서 Java를 따로 설치하지 않아도 됨!ElasticSearch를 한번 실행하면 data 디렉터리가 생성됨실행 명령어: bi..

Solution 2024.06.26

[Apache Kafka] 커밋, Offset과 Lag

참고 블로그: https://mycup.tistory.com/435https://ggop-n.tistory.com/90 Offset파티션 내 각 레코드의 위치. 식별자파티션 내에서 유일하고 순사적으로 증가하는 숫자(64비트 정수) 형태중복 메시지 우려.멱등성 유지하는 로직 구현중복 메시지 제거 로직 구현컨슈머 그룹의 컨슈머들은 각각의 파티션에 대해 자신이 가져간 메시지의 위치 정보(오프셋)을 기록하고 있음 커밋각 파티션에 대해 현재 위치(오프셋)를 업데이트하는 동작 Lag만약 Producer가 데이터를 넣는 속도가 Consumer가 데이터를 소비하는 속도보다 빠르다면 컨슈머가 마지막으로 읽은 offset과 Producer가 마지막으로 넣은 offset의 차이가 발생한다. 이 차이를 Consumer Lag..

Solution 2024.06.24