전체 글 (20) 썸네일형 리스트형 Memcached 윤영 교수님 기초데이터베이스 수업을 듣는데 계속 Memcached 언급을 하셔서 좀 더 알아보기로 했다. 시험에도 십자말풀이 문제로 내셨었고, 수업에서는 분산 시스템 설명 중 Facebook에서 선택한 기술인데 당연히 알아야 되지 않을까요? 하는 뉘앙스로 언급하셨다. 1. Memcached란 무엇인가?Memcached는 데이터베이스의 부하를 줄여 웹 애플리케이션의 속도를 높이기 위해 설계된 고성능 분산 메모리 객체 캐싱 시스템이다.2003년에 처음 개발되어 무려 20년이 넘은 기술이지만, 페이스북(Meta), 넷플릭스 등 글로벌 빅테크 기업들은 여전히 핵심 인프라에 Memcached를 사용하고 있다. 그 이유가 무엇일까?2. Memcached의 핵심 아키텍처: Slab AllocationMemcached.. 분산 락 시스템 이번 글에서는 분산 락 시스템에 대해 다룬다. 특히, 분산 환경에서 데이터의 일관성을 지키는 핵심 시스템인 분산 락을 제공하는 미들웨어인 Google의 Chubby와 Apache의 ZooKeeper를 중심으로 작성한다. 다음과 같은 순서로 진행된다.먼저, 분산 락의 개념과 필요성을 운영체제 시간에 배웠던 세마포어와 같은 OS 락을 떠올려보며 짚어본다.이어서 핵심 시스템인 Chubby와 ZooKeeper가 각각 분산 합의라는 안전망 위에서 장애 처리와 효율성이라는 두 가지 핵심 과제를 어떤 메커니즘으로 해결했는지 살펴본다.마지막으로 또 다른 분산 락 시스템으로 현업에서 많이 쓰이는 Redis 락 방식과의 차이를 비교해보면서 실질적인 기술 선택 기준을 살펴보고, 내용 정리하면서 마무리하도록 하겠다. 먼저, .. 분산 컴퓨팅, RAID의 한계를 넘어 분산 플랫폼의 시대로(대본) - 분산 컴퓨팅 필요성(vs RAID) - Hadoop MapReduce - Apache Spark - 도입 시 고려사항 - 대규모 데이터 처리가 필요한 분산 환경 속 기존 RDBMS를 대체하는 NoSQL 기반 DB, 인프라 직접 구축이 필요없는 Databricks, Anyscale 등 플랫폼 서비스(PaaS) 등장 0. 인사 및 목차 소개 안녕하세요. 오늘 세미나에서 현대 백엔드 아키텍처의 핵심 중 하나인 분산 컴퓨팅 시스템의 흐름에 대해 발표할 지디지 백엔드 파트멤버 김태우입니다.// 오늘 발표에서는 분산 컴퓨팅의 필요성과 개념부터 시작해,디스크 기반 분산 컴퓨팅 프레임워크인 Apache Hadoop과 핵심 엔진인 MapReduce가장 많이 쓰이는 인메모리 기반 분산 컴퓨팅 엔진인 Apache .. NoSQL, Cassandra NoSQL과 Cassandra: 분산 시스템 시대의 데이터베이스 선택이번 글에서는 분산 시스템 관련 데이터베이스의 새로운 물결인 NoSQL과 그 대표 주자 중 하나인 Cassandra DB에 대해 깊이 있게 다뤄보려고 한다. 왜 기존의 데이터베이스로는 급증하는 데이터를 감당하기 어려워졌는지부터 시작해, NoSQL이 가져온 변화와 그 이면의 한계점 및 주의사항까지 살펴보도록 하자.1. ⚙️ RDBMS의 한계: 왜 NoSQL이 필요해졌는가?전통적인 관계형 데이터베이스(RDBMS)는 데이터의 정합성과 무결성을 최우선으로 하는 ACID (원자성, 일관성, 고립성, 지속성) 특성을 철저히 준수한다.하지만 인터넷 트래픽과 데이터양이 폭발적으로 증가하면서 RDBMS는 근본적인 한계에 부딪히기 시작했다.확장성의 한계:.. 모놀리식 아키텍쳐(MA)의 한계와 마이크로서비스 아키텍쳐(MSA)의 등장 아키텍쳐의 중요성소프트웨어 개발에서 아키텍처란 서비스의 구성과 동작에 대한 구성 방식을 구조적으로 표현하고 결정한 것을 말한다. 시스템의 규모가 커지고 트래픽이 증가할수록, 단순한 기능 구현을 넘어 시스템의 구조(아키텍처)가 서비스의 효율과 성패를 결정하는 핵심 요소가 될 수 있다. 모놀리식 아키텍처(Monolithic Architecture) 특징모놀리식 아키텍처(MA)는 모든 기능(사용자, 주문, 결제 등)이 하나의 코드베이스에 통합되어 하나의 애플리케이션으로 동작하는 전통적인 구조이다. 다음과 같은 특징과 장점을 가진다.특징: 모든 모듈이 단일 데이터베이스를 공유하고, 모듈 간 통신은 메모리 내 함수 호출로 이루어진다.장점: 초기에 개발이 쉽고, 배포가 단순하며, 단일 DB를 사용하므로 트랜.. GDG 프로젝트 트랙 4기 BE 최종 회고 FIL 7,8 주차 : 게시글 작성 지역 도메인과 연동지역 인증과 각 지역 테이블 DB가 완성됨에 따라, 게시글 CUD 기능을 수정했다. S3 uploader 설정스프링의 의존성 주입 기능을 잘 활용해서 로컬 환경, 배포 환경에 따라 방식을 다르게 해서 구축했다.그냥 연결하면 되는 줄 알았는데 기존에 그냥 외부 사이트 이미지 url을 넣는 식으로 주먹 구구식 구현을 한 탓에, 이미지 파일을 S3 서버에 올리고 객체 url을 받아오는 구조로 바꾸면서 많은 파일들의 수정이 있었다. S3 액세스 키를 넣는 김에 기존 서버의 환경설정 파일도 수정했다. 기존에는 yml 파일에 키를 작성했는데, .env파일에 실제 키를 작성하고 yml 파일에서 가져오는 형태로 바꾼 후 수정 사항 반영을 위해 다시 docker compos.. GDG 프로젝트 트랙 4기 BE 2차 개발코스 5,6주차 WIL 중간 데모데이 발표가 끝났다. 로컬에서 회원가입, 로그인 후 게시글 조회하는 화면까지 프론트, 백엔드 간에 연결하는 것까지 보여줄 수 있어서 만족스러웠다.이후 피드백을 받았다. 요약해 보자면아무 생각 없이 첫 화면을 어드민 페이지로 잡았는데 기획 의도에도 맞지 않을 뿐더러, 회사 홈페이지 같다는 피드백을 들었다.따라서 메인 화면(게시글 볼 수 있음)을 디폴트 화면으로 두고, 작성이나 마이페이지 같은 기능 이용 시 로그인/회원가입 모달 사용하는 방향으로 바꾸기로 했다. 그 외에 커밋 컨벤션, 브랜치 전략 등의 피드백을 받았다. 커밋 컨벤션의 경우, 병합을 제외하면 지키고 있어서 크게 어렵지 않았고, 브랜치 전략 같은 경우에는 기획 발표 이후 피드백에서는 팀원이 2명 뿐이라서 각자 이름 브랜치, develo.. GDG 프로젝트 트랙 4기 BE 1차 개발코스 3,4주차 WIL 이번 주차, 특히 마지막 주에 본격적인 개발과 API 연동에 들어갔다.다른 백엔드 팀원 분이 로그인/회원가입을, 나는 게시글 조회를 맡기로 하고 작업을 진행했다. 로그인/회원가입을 각각 나눠 진행한 조도 있었다고 들었는데, 우리는 그냥 한 명이 전담하기로 했고 덕분에 변수명 등으로 충돌이 나는 위험은 피할 수 있었다. 로그인/회원가입 API 연결 성공22일? 이 때 JWT 토큰을 이용한 로그인/회원가입 기능을 백엔드 팀원 분이 완성해주셨다. 원래 이 날 로컬에서 로그인/회원가입과 게시글 조회 모두 프론트와 API연결 테스트를 하려고 했으나 아직 게시글 조회 기능 완성이 안 되어서 로그인/회원가입만 연결을 시도했다. 다행히 Webconfig파일과 요청body 필드가 일치되도록 수정하는 것을 통해 간단히 연.. 이전 1 2 3 다음