Redis란?
·
Backend/Database
Redis란?Redis는 key-value 구조의 비정형 데이터를 저장하고 관리하기 위한 (오픈소스) 인메모리 데이터 저장소이다.NoSQL DBMS로 분류되며 동시에 Memcached와 같은 인메모리 솔루션으로 분류할 수 있다.DB, Cache, Message Queue, Shared Memory 용도로 사용된다.인메모리컴퓨터 주기억장치인 RAM에 데이터를 올려서 사용하는 방법을 의미한다. RAM에 데이터를 저장하게 되면 메모리 내부에서 처리가 되므로 데이터를 저장하고 조회할 때 디스크를 오고가는 과정을 거치지 않아도 되어 속도가 빠르다. 따라서, SDD, HDD 같은 저장공간에서 데이터를 가져오는 것보다 RAM에서 데이터를 가져오는 속도가 수백배 이상 빠르다. 장점인메모리 저장소이기 때문에 데이터 엑세..
[MSA] E-commerce 애플리케이션 프로젝트
·
Backend/Spring Cloud
[서비스 디스커버리]서비스 디스커버리란?누군가로부터 요청이 들어왔을 때, 해당 서비스가 어디에 위치하고 있는지에 대한 정보를 얻기 위해서 사용하는 서비스서비스 디스커버리 역할을 위해 유레카 서비스 사용했음.[E-commerce 애플리케이션 개요]전체 애플리케이션 개요사용자는 3가지 마이크로 서비스를 사용할 수 있다.CATALOG-SERVICE : 제품들이 들어가있는 카탈로그 서비스USER-SERVICEORDER-SERVICE사용자는 다음과 같은 기능을 이용할 수 있다.상품 조회사용자 조회로그인 기능상품 주문상품 수량 업데이트사용자가 상품 주문하면 ORDER-SERVICE가 CATALOG-SERVICE의 상품 수량 업데이트ORDER-SERVICE에서 CATALOG-SERVICE의 수량을 조절하기 위한 커맨..
[MSA] API Gateway Service
·
Backend/Spring Cloud
[API Gateway Service란?]API GatewayAPI Gateway 서비스는 사용자가 설정한 라우팅 설정에 따라 각각의 엔드포인트로 클라이언트를 대신하여 요청하고, 응답을 받으면 클라이언트한테 다시 전달해주는 Proxy 역할 수행시스템의 내부 구조는 숨기고, 외부에 요청에 대해 적절한 형태로 가공해서 응답할 수 있다는 장점[그림 설명]마이크로서비스가 3개 있다 가정시, 클라이언트 사이드에서 마이크로서비스를 직접 호출하는 그림 즉, 클라이언트 측에서 마이크로서비스의 주소를 직접 이용하여 요청새로운 마이크로서비스가 추가되거나 기존에 있던 마이크로서비스의 주소가 변경 되었다고 가정해도 마이크로서비스 자체가 독립적으로 빌드, 배포되는 장점But, 클라이언트 사이드에서 마이크로서비스의 엔드포이트(주..
[DB] SQL vs NoSQL
·
Backend
데이터베이스를 선택할 때 가장 중요한 결정은 관계형(SQL) 혹은 비관계형(NoSQL) 데이터 구조를 선택하는 것이다. 두 시스템 모두 고유한 장점을 제공하고 서로 다른 요구 사항을 충족하므로 최적의 데이터 관리를 위해서는 두 시스템의 차이를 파악하는 것이 중요하다.SQL정의Structed Query Language(구조화 된 쿼리 언어)의 약자관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어데이터베이스 자체를 나타내는 것이 아니라, 특정 유형의 데이터베이스와 상호 작용하는데 사용하는 쿼리 언어💡 관계형 데이터베이스(Relational DataBase) : 데이터를 행과 열의 2차원 표 형태로 저장하는 데이터베이스 특징SQL을 사용하면 관계형 데이터베이스 관리 시스템(RDBMS)에서 ..
[Java] 중첩 선언과 익명 객체
·
Backend/Java
[중첩 클래스]클래스가 여러 클래스와 관계를 맺는 경우에는 독립적으로 선언하는 것이 좋으나, 특정 클래스에만 관계를 맺을 경우에는 중첩 클래스로 선언하는 것이 유지보수에 도움이 되는 경우가 많다.중첩 클래스 개념중첩 클래스란 클래스 내부에 선언한 클래스로, 중첩 클래스를 사용하면 클래스의 멤버를 쉽게 사용할 수 있고 외부에는 중첩 관계 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다.중첩 클래스의 분류멤버 클래스 : 클래스의 멤버로서 선언되는 중첩 클래스로컬 클래스 : 메소드 내부에서 선언되는 중첩 클래스중첩 클래스도 하나의 클래스이기 때문에 컴파일하면 바이트코드 파일(.class)이 별도로 생성 [인스턴스 멤버 클래스]인스턴스 멤버 클래스는 다음과 같이 A 클래스의 멤버로 선언된 B 클래스[publi..
[MSA] 마이크로서비스 Service Discovery
·
Backend/Spring Cloud
[Spring Cloud Netflix Eureka][그림 설명]하나의 마이크로서비스가 3가지 인스턴스에 의해 확장돼서 개발되는 경우일종의 로드밸런서 역할을 하는 것처럼 부하 분산 처리가 돼있다고 가정보유하고 있는 노트북/PC가 한 대일 경우에는 여러 개의 서비스를 동시에 실행하기 위해 반드시 포트를 나눠서 실행 → 하나의 IP일 경우에는 포트를 분산시켜 실행가용할 수 있는 IP가 여러개일 경우에는 포트를 분산시킬 필요 XService Discovery란?Spring Cloud Netflix Eureka가 하는 역할 : Service DiscoveryService Discovery란 외부의 서비스들이 마이크로서비스를 검색하기 위해 사용되는 개념으로, 각각의 마이크로서비스가 어디에 저장돼있으며 요청 정보가..
_은선_
'Backend' 카테고리의 글 목록