기술 트렌드, 생각 정리 & 회고/Engineering trends4 로드 밸런싱(Load Balancing)의 개념과 특징 현대 모든 웹 서비스들은 인터넷을 기반으로 서비스되고 있습니다. 인터넷의 발달로 모든 것이 편리해졌고 많은 사용자들을 인터넷을 사용할 수 있도록 도와주었지만 이는 트래픽의 폭발적인 증가의 요인이 되기도 했습니다. 아무리 성능이 좋은 서버라도 엄청난 양의 트래픽을 감당하기엔 한계가 반드시 존재합니다. 무수히 쏟아지는 트래픽을 여러 대의 서버로 분산해주는 기술이 없다면 한 서버로 모든 트래픽이 몰리게 되어 서비스 장애가 발생할 수도 있습니다. 이에 대한 해결 방안인 로드 밸런싱에 대해 정리해 보겠습니다. 1. 로드 밸런싱(Load Balancing) 1-1. 정의 (1) 로드 밸런싱은 네트워크 또는 서버에 가해지는 부하 트래픽을 분산시켜주는 기술을 의미합니다. 1-2. 로드 밸런싱의 필요성 (1) 웹 비즈니.. 2023. 7. 26. 캐싱(Caching) & CORS(교차 출처 리소스 공유, Cross-Origin Resource Sharing) 전산학(컴퓨터 과학, Computer Science)을 보면 캐싱(Caching)이라는 주제가 나오게 됩니다. 성능 최적화를 위해 사용되는 개념으로 최적화가 필요한 웹 서비스 환경에서도 성능 개선을 위해 캐싱 기술이 사용되고 있습니다. 웹 개발에 있어서 반드시 알고 있어야 하는 내용으로 CORS와 함께 캐싱까지 간단히 정리해 보겠습니다. 1. 캐시(Cache)와 캐싱(Caching)? 1-1. 캐시(Cache) (1) 컴퓨터 과학(Computer Science, CS)에서 캐시는 자주 사용되는 데이터나 값들을 저장하는 임시 보관 장소를 의미합니다. (2) 캐시는 자주 사용되는 데이터들이 캐시까지의 접근 시간에 비해 기존 데이터가 저장된 곳까지 접근하는 시간이 더 오래 걸릴 경우 해당 데이터를 캐시에 저장.. 2023. 7. 26. 백엔드 엔지니어링 : Back-end(Server-side) Engineering 2023.03.07(Tue) 백엔드 엔지니어링에 대한 평소 가지고 있었던 생각, 공부했던 내용들을 포스팅으로 정리해 보고자 합니다. 1. 백엔드 엔지니어링(Back-end Engineering)이란 무엇인가? - 웹 개발 분야 중 하나로써 간단히 정의해 보자면, 도메인(Domain)을 위해 서버의 데이터베이스 및 비즈니스 로직, 이들을 제공하기 위한 API를 설계하고 개발, 운영하는 전반적인 기술을 의미합니다. 사람마다 조금씩 다르게 정의할 수도 있지만 대부분 아래와 정의해 주시는 분들을 많이 봤습니다. (1) 웹 또는 앱에서 사용자가 시각적으로 볼 수 없는 서버 사이드, 데이터베이스를 관리하는 전반적인 기술 (2) 사용자로부터 들어온 요청에 대해 이에 맞는 응답을 반환할 수 있는 비즈니스 로직을 개발하.. 2023. 5. 1. 마이크로 서비스 아키텍처(Micro Service Architecture, MSA), 모놀리식 아키텍처(Monolithic Architecture) 최근에는 모놀리식 아키텍처(Monolithic Architecture)가 보유한 단점이나 한계점을 극복하기 위해 많은 서비스 기업들이 마이크로 서비스 아키텍처(Micro Service Architecture) 패턴을 이용해 개발을 진행하고 있습니다. 이번엔 Monolithic Architecture, Micro Service Architecture가 무엇인지 간단히 정리해 보고자 합니다. 1. Monolithic Architecture (모놀리식 아키텍처) 1-1. 모놀리식 아키텍처(Monolithic architecture) - 소프트웨어의 구성 요소들이 하나의 프로젝트 내부에 모두 통합되어 있는 설계 패턴을 의미합니다. 1-2. 특징 - 모놀리식 아키텍처의 경우 일반적으로 아래와 같은 특징이 존재합니.. 2023. 2. 23. 이전 1 다음