Home
LeeSeoJune
Cancel

Redis

Redis [TOC] Redis란? REmote DIctionary Server Redis는 고성능 Key-value 저장소로서 리스트, 해시, 셋 정렬된 셋 등 여러 형식의 자료구조를 지원하는 NoSQL이다. 메모리에 상주하면서 RDBMS의 캐시 솔루션으로 주로 사용됨. 사용용도 Redis는 Message Queue, Shared Memo...

클라우드서비스모델

클라우드 서비스 모델

CORS

CORS란? CORS Cross-Origin Resource Sharing(CORS)은 추가적인 HTTP header를 사용해서 애플리케이션이 다른 origin의 리소시에 접근할 수 있도록 하는 메커니즘을 말한다. 하지만 다른 origin에서 내 리소스에 함부로 접근하지 못하게 하기 위해 사용된다. CORS 필요성 만약 내가 서비스하고 있지 않...

gRPC

gRPC란? [TOC] 배경지식 gRPC는 Google에서 개발한 RPC(Remote Procedure) 시스템이다. 전송을 위해 TCP/IP 프로토콜과 HTTP 2.0 프로토콜을 사용하고 IDL(Interface Definition Language)로 protocol buffer를 사용한다. RPC(Remote Communication Mec...

SNS vs SQS

SNS vs SQS SNS(Simple Notification Service) publisher(게시자)가 Subscriber(구독자)에게 메세지를 전송하는 관리형 서비스 Publisher는 Topic(주제)에 메세지를 발행한다. Topic은 수많은 Subscribers에게 전달될 수 있다.(fan out) 이때 전...

우아콘2020 배달의민족 마이크로서비스 여행기

우아콘 2020 배민 마이크로서비스 여행기 김영한님 배달의 민족 서비스의 주문수는 년 평균 2.3배 증가하였다. 2015년 하루 주문수 5만이하 MS SQL + PHP, ASP 대부분 루비DB(MS SQL) 스토어드 프로시저 방식 사용 루비 DB장애시 전체 서비스 장애 스토어드 프로시저(SP, Stored Procedure)...

dotenv vs nestjs_env

dotenv Vs @nestjs/config dotenv란? dotenv는 환경변수를 .env파일에 저장하고 process.env로 로드하는 의존성 모듈이다. 간단하게 환경변수를 로드하는 라이브러리이다. 이유 NestJs와 같은 프레임워크에서는 최소한 test/dev/prod 세 환경에서 실행하게 되는데 각 환경마다 다른 환경 변수를 ...

CD

CD(지속적인 제공/배포) [TOC] CD CD는 지속적인 제공(Continuous Delivery) 또는 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용된다. 두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻한다. 지속적인 제공(Continuous Delivery) 지속적인...

Transaction

Transaction(트랜잭션) 트랜잭션이란 트랜잭션이란 질의(query)를 하나의 묶음 처리해서 만약 중간에 실행이 중단됐을 경우, 처음부터 다시 실행하는 Rollback을 수행하고, 오류없이 실행을 마치면 commit을 하는 실행 단위를 의미한다. 즉, 한 번 질의가 실행되면 질의가 모두 수행되거나 모두 수행되지 않는 작업수행의 논리적 단위이...

ACID

ACID [TOC] ACID란 ACID는 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어디다. 트랜잭션에는 4가지의 특성이 있다. 원자성 (Atomicity) 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것을 말한다. 즉, All oro Nothing의 개념으로써 작업 단위...