천진반 님의 글 12
혁신적인 게임 개발을 위한 데이터베이스 선택 (MongoDB)
1. 게임 산업 현황 전 세계 게임 시장은 2020년에 전년 대비 7.3% 증가하여 1,600억 달러 이상의 매출을 올릴 것으로 예상되었다. 특히, 중동, 북아프리카, 인도 및 동남아시아와 같은 신…
MongoDB(몽고DB)를 사용한 이벤트 중심 아키텍처
1. 이벤트 중심 아키텍처란? 현재, 실시간 시스템은 대부분 요청 중심(Request-driven)으로 운용되고 있다. 그렇지만 민첩한 조직이 되기 위해서는 이벤트 중심 아키텍처가 유리하다. 요청이…
Access log에 X-Forwarded-For 필드 추가
1. 정의 X-Forwarded-For(XFF) 헤더는 HTTP 프록시나 로드 밸런서를 통해 웹 서버에 접속하는 클라이언트의 본래 IP 주소를 식별하기 위한 목적으로 사용되는 헤더다. 2. 배경 클…
이벤트 소싱과 CQRS에 대한 잡설
배경을 알아보자. 비즈니스 수요가 증가함에 따라 기능의 종류는 다양해지고 요구량이 증가하였으며, 결과적으로 서비스의 크기는 거대해졌다. 여러 한계에 봉착하게 된다. (1) 서비스의 수정 / 업데이트…
AWS ELB 특징 이해하기 (Elastic Load Balancing)
AWS Elastic Load Balancer(ELB)는 트래픽을 분배해주는 관리형 Load Balancer 서비스이다. 특징 자동화: AWS EC2 인스턴스 등의 대상에 대해서 트래픽을 자동으로 …
AWS Lake Formation을 통한 손쉬운 데이터 레이크 구성 및 관리
목차 데이터레이크란? AWS기반 데이터레이크 구축 방식 AWS Lake Formation 소개 AWS Lake Formation 데모 1. 데이터레이크란? 데이터레이크란 규모와 정형/비정형 여부와 …
MongoDB Back to Basics
1. MongoDB의 특장점 MongoDB는 Document DB라고도 불린다. Data를 저장할 때 문서화된 형태로 저장을 한다. (cf. RDBMS: row-column기반의 Table로 저장)…
Service Mesh (서비스 메시) 고민
개요 서비스 메쉬란, 각 서비스 간에 데이터를 공유하는 방식을 제어하는 방법이다. 앱 내부 하나의 인프라 레이어로 직접 구축된다.(built-in) 제어가 왜 필요할까? 분산 환경이므로 서비스 경로…
Ansible을 이용한 Apache HTTP Server 설치
*해당글은 Ansible이 설치되어 있다고 가정합니다.CentOS7 기준으로 작성되었습니다. 설치 전 사전 준비 사항 apache를 설치할 서버에 대해서, public key file / passw…
yum을 이용한 Ansible Installation (CentOS 기준)
본 문서는 CentOS 기준으로 작성되었으며, yum을 이용하여 설치합니다. (1) 아래 명령문을 실행합니다. sudo yum install ansible (2) 설치에 성공하면 아래와 같이 Com…
Spring IOC - ApplicationEventPublisher
개요 옵저버 패턴의 구현체로서, 이벤트 기반의 프로그래밍을 할 때 유용한 인터페이스. 실습을 위한 주요 구성 요소 퍼블리셔, 이벤트, 이벤트핸들러 이벤트 ApplicationEvent 상속 publ…
MSA 개념 - 12 Factors Application
개요 웹앱 또는 SaaS 앱을 체계적으로 만들기 위한 이상적인 방법론이다. 본 방법론에 따라서 구현된 앱은 twelve-factor app이라 하며, 다음과 같은 장점을 가질 것이다. 설정 자동화를…