본문 바로가기

Java13

[대용량 처리를 위한 MySQL 이해] 대용량 시스템의 이해 이 글은 FastCampus에서 진행하는 "백엔드 개발자를 위한 한 번에 끝내는 대용량 데이터 & 트래픽 처리 초격차 패키지 Online" 강의를 공부하고 기록하기 위함입니다. 저작권 등이 문제가 생긴다면 바로 정리하도록 하겠습니다. 초기 웹은 Client - 서버 - 데이터베이스를 나누어져 있었으나 요즘은 웹 서버- 웹 어플리케이션으로 나뉘어져 있는 경우가 많아요 웹서버는 HTML , Javascript가 주로 동작하고 웹 어플리케이션 서버는 데이터베이스와 통신하는 Java Spring, Node.js 등이 있죠 그럼 여기서 웹서버 - 웹어플리케이션 서버는 왜 나뉘어진 걸까요? 웹서버의 복잡도가 점점 증가해서 그렇지만 주목적은 관심사의 분리 / 관측가능한 시스템 / 효율적인 리소스 사용이에요 관심사 또.. 2023. 4. 29.
[대용량 처리를 위한 MySQL 이해] SNS 서비스 만들기 - 실습환경 구축 이 글은 FastCampus에서 진행하는 "백엔드 개발자를 위한 한 번에 끝내는 대용량 데이터 & 트래픽 처리 초격차 패키지 Online" 강의를 공부하고 기록하기 위함입니다. 저작권 등이 문제가 생긴다면 바로 정리하도록 하겠습니다. Brew 설치하기 https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh Mac 사용자는 아래 Commend를 Terminal에서 입력 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" MySQL 설치 https://formulae.brew.sh/.. 2023. 4. 29.
[대용량 처리를 위한 MySQL 이해] 대용량 서버를 구축하기 위해서는 어떤걸 알아야 할까? 이 글은 FastCampus에서 진행하는 "백엔드 개발자를 위한 한 번에 끝내는 대용량 데이터 & 트래픽 처리 초격차 패키지 Online" 강의를 공부하고 기록하기 위함입니다. 저작권 등이 문제가 생긴다면 바로 정리하도록 하겠습니다. 서버 개발자로서 대용량 서버를 구축하기 위해서는 어떤걸 알아야 할까? 대용량 시스템이 어려운 이유는 결국 많은 양이 데이터에서 부터 시작됩니다. 어떻게 많은 양의 데이터를 안정적으로 삽입, 갱신, 조회를 할까요? 이를 위해 아래와 같은 항목에 대해 공부가 필요하며 이는 여러 기술에 대한 이해가 필요합니다. 정규화 / 인덱스 / 트랜잭션 / 동시성 제어 MYSQL / MongoDB / Kafka / Redis 그리고 꼭 부하테스트 (ngrinder, jmeter 등)를 통해 .. 2023. 4. 29.
스트래티지 패턴(Strategy Pattern) 스트래티지 패턴(Strategy Pattern) 여러 알고리즘을 하나의 추상적인 접근점(인터페이스)을 만들어이 접근점에서 서로 교환가능하도록 하는 패턴 또한 알고리즘을 정의하고 각각을 캡슐화하여 교환해서 사용가능 하도록 하는 패턴 이와 같이, 각 알고리즘은 캡슐로 정의되어 있고 필요할 때 서로 교환만 하기 때문에알고리즘의 추가 및 수정에 편리합니다. 아래는 기본적인 Strategy 패턴을 나타냅니다. Client는 Strategy를 가지고 있습니다. Strategy는 한개를 가질 수도 있고 여러개를 가질 수 있습니다.Strategy 인터페이스를 통해 세 개의 Strategy(A,B,C)가 캡슐화되어 있음을 알 수 있습니다. 이와 같이 각 알고리즘은 캡슐화되어 분리되어 있고 만약 StrategyA에 수정이.. 2017. 10. 5.
반응형