반응형

분류 전체보기 128

Coherence 란?

Coherence 란? => Oracle 에서 제공하는 In-Memory Data Grid => 대규모 데이터를 분산하여 저장 및 액세스 할 수 있는 분산 캐시 시스템 => 여러 서버 노드에 데이터를 자동으로 분산하여 저장 => 데이터에 대한 고속 액세스 제공 주요 기능 1. 데이터 분산 : 데이터를 여러 서버 노드에 자동으로 분산하여 저장 데이터 부하 분산 및 확장성 향상 2. 데이터 캐싱 : 데이터를 메모리에 캐싱하여 빠른 액세스 제공 캐시된 데이터는 빠르게 액세스 할 수 있고 반복적인 액세스를 줄일 수 있음 3. 고가용성 : 데이터의 복제와 장애 조치 기능을 제공 하나 이상의 복제본을 유지하여 데이터 손실 없이 서비스 지속 가능 4. 분산 쿼리 및 계산 : 복잡한 쿼리를 분산하여 병렬 처리 및 결과..

세션 클러스터링 (Session Clustering) 이란?

세션 클러스터링이란? => 여러 서버에 걸쳐 세션 데이터를 분산 저장하고 관리하는 기술 => 일반적으로 웹 어플리케이션은 세션을 사용하여 클라이언트의 상태를 유지하고 사용자에게 일관된 경험을 제공함 => 단일서버 실행 시 서버 장애 또는 부하 분산의 어려움으로 인해 세션 데이터 손실 및 서비스 중단의 위험이 존재 - 이러한 문제를 해결하기 위해 여러 서버 간 세션 데이터 공유 및 동기화 방법 제공 => 클러스터링 된 환경에서는 각 서버가 동일한 세션 데이터를 사용하며, 클라이언트의 요청이 동일한 세션에 접근하더라도 서버 간에 세션 데이터를 공유하여 일관성을 유지함 장점 - 고가용성 : 세션 클러스터링을 통해 여러 서버간에 세션 데이터를 공유하므로 단일 서버 장애 시 세션 데이터 유실 없이 서비스 지속 가..

vhosts 란? (Virtual Hosts)

vhosts란? => 가상 호스트 라고 하며 한 서버에 여러 도메인을 등록하여 사용한다는 의미 => 하나의 물리적인 서버를 사용하여 다수의 독립적인 웹사이트를 운영할 수 있음 => 클라이언트의 요청에 대한 도메인 이름을 기반으로 적절한 가상 호스트 설정을 찾아 처리함 => 하드웨어 및 운영 비용 절감 => 독립된 도메인 간 서로 영향을 주지 않고 개별적 관리 가능 장점 - 비용절감 : 단일 서버에서 여러 도메인을 호스팅 할 수 있어 하드웨어 및 운영 비용이 절감됨 - 자원공유 : 서버 자원을 효율적으로 공유할 수 있음 (CPU, Memory, 대역폭 등 여러 도메인 간 나누어 사용 가능) - 유연성 : 각 도메인을 독립적으로 관리할 수 있으므로 하나의 도메인이나 어플리케이션 장애가 다른 도메인에 영향을 ..

Apache Tomcat vs WebLogic

Apache Tomcat과 WebLogic은 둘 다 WAS의 종류에 속하는 서버 소프트웨어 이다. Apache Tomcat - 오픈소스 기반의 WAS - 가벼운 웹 어플리케이션을 실행하는데 사용됨 - 주로 Servlet 및 JSP (JavaServer Pages) 컨테이너 로서 동작함 - 서블릿 기반의 어플리케이션을 호스팅 하고 처리함 - Java EE (Java Enterprise Edition) 대부분의 기능을 제공함 - 스레드 기반으로 동작 Oracle WebLogic - 상용 WAS로서 Oracle Corporation 에서 개발 및 유지보수 - 기업의 대규모 및 복잡한 어플리케이션 실행 시 사용 - Java EE 표준 사양을 완벽히 준수 및 기술 지원 (Java Message Service, E..

서블릿 (Servlet)이란?

서블릿이란? => Servlet => 자바를 사용하여 웹 어플리케이션을 개발하기 위한 기술 => 서버 측에서 동적 웹 페이지를 생성하고 클라이언트에 대해 응답을 제공 => 자바 언어를 기반으로 작성되며 웹 서버에서 실행되는 작은 프로그램 단위 => 웹 요청과 응답의 흐름을 간단한 메소드 호출만으로 체계적으로 다룰 수 있게 함 => 웹 컨테이너에서 이것을 실행함 - 서블릿 인스턴스 생성 후 서버에서 실행됨 특징 - HTML을 사용하여 응답 - JAVA 스레드 이용 - UDP보다 속도가 느림 - HTML변경 시 Servlet을 재 컴파일 해야함 참고 https://coding-factory.tistory.com/742 [Web] 서블릿(Servlet)이란 무엇인가? 서블릿 총정리 서블릿(Servlet)이란?..

3-way Handshake 란? (TCP 통신, 4-way Handshake)

TCP 란? => Trasmission Control Protocol => 인터넷상에서 데이터를 신뢰성있게 전송하기 위해 사용되는 프로토콜 => 패킷 기반의 통신이며 데이터 분할, 전송 순서 제어, 에러 검출 및 복구 담당 3-way Handshake 란? => TCP 통신 시작 전 클라이언트와 서버 간 논리적 연결을 설정하기 위해 사용 3-way Handshake 3단계 1. 클라이언트는 서버에게 SYN (Synchronize Sequence Number) 패킷 으로 연결 요청 - 클라이언트가 서버와 통신을 시작하고자 알리는 역할 2. 서버는 클라이언트의 연결 요청을 받고 클라이언트에게 수락의 의미인 ACK(SYN+ACK) 패킷 전송 3. 클라이언트는 서버의 ACK 패킷을 받고 이에 대한 확인 ACK를..

MPM (Multi-Processing Module) 이란?

MPM이란? => 웹 서버에서 동시에 여러 개의 클라이언트 요청을 처리하는 방법을 제공하는 모듈 => 웹 서버 성능 및 확장성 향상 아파치에서 사용되는 MPM 3가지 1. Prefork MPM => 여러개의 프로세스를 생성하여 각각이 독립적인 클라이언트 요청 처리 => 단일 스레드로 동작하며 요청 하나 당 프로세스 할당 => 프로세스 별 자체 메모리 보유 - 독립적 환경으로 동작 => 안정성이 높지만 프로세스 간 오버헤드가 있고 메모리 사용량이 많아 성능이 떨어질 수 있음 2. Worker MPM => 멀티 스레드 기반 => 여러개의 프로세스를 생성하고 각 프로세스는 여러 스레드로 클라이언트 요청 처리 => Prefork MPM 보다 메모리 사용량이 적고 처리량과 동시성이 높음 => 스레드 간 동기화와 ..

GSLB 란? (Global Server Load Balancing)

GSLB 란? => 여러 지리적 위치에 분산된 서버 및 데이터 센터 간의 부하 분산을 관리하는 기술 => 주로 웹 사이트, 어플리케이션, 클라우드 서비스에 사용됨 => DNS 기반으로 작동 (+ health check, active/backup 지정 가능) 1. 사용자가 웹사이트에 접속 요청 2. DNS 쿼리 실행 -> 도메인 이름을 IP 주소로 변환 3. GSLB 사용 시 DNS 서버는 사용자의 위치, 서버 상태, 트래픽 조건 등을 고려하여 적합한 IP 주소 반환 이때, 다중화 되어있는 서버의 상태를 확인하여 IP 주소를 반환해준다. ex. A 서버는 active 상태, B서버는 Back-up 상태일 경우 A 서버를 반환해주고 두 서버 모두 active 상태 일 경우 로드 밸런서로의 기능으로 부하 분산..

L4 부하 분산 - 로드밸런싱 방법 (해시, R.R, LC)

L4 (Transport Layer) 부하분산 => 네트워크 트래픽을 전송 계층에서 분산 시키는 방법 IP 해시 => 클라이언트의 소스 IP 주소(+ port 도 될 수 있음)에 따라 트래픽을 특정 서버에 할당한다. => 세션 연결 유지 목적 => IP 주소가 변경되면 서버에 할당된 부하분산이 변경될 수 있다. => 동일한 사용자에 대해 동일한 서버로 연결됨 라운드 로빈 (Round Robin) => 모든 서버에 동일한 순서로 트래픽을 분산 시킴 => 간단하고 구현이 쉽다. => 서버간의 성능이 비슷한 경우에 사용됨 => 5대의 서버가 있다면 5부터 1 다시 1부터 5 이러한 방식으로 분산됨 => 경로보장 x 가중 라운드 로빈 (Weighted Round Robin) => 서버마다 가중치를 지정하여 트래..

GC (Garbage Collection, G1GC 란?)란? - Heap Memory

GC (Garbage Collection) => 자바 프로그램에서 동적 할당된 객체들 중에서 사용되지 않는 객체들을 자동으로 탐지하여 해제하는 프로세스 => 메모리 누수와 같은 일반적인 메모리 관리 문제를 해결하기 위해 사용 => Heap Memory 에서 사용되지 않는 객체를 식별하고 회수하여 메모리를 재사용 할 수 있음 Heap Memory 란? => 자바에서 동적으로 생성된 객체들이 저장되는 메모리 영역 => JVM 메모리 구조 중 하나 => 프로그램 실행 중 필요한 객체들이 할당되고 관리 => 크기가 유동적이며, GC 대상임 GC 알고리즘 : 사용되지 않는 객체를 식별하고 해제하는 방법 / App의 요구사항과 환경에 맞는 알고리즘 선택 GC 구성요소 New 영역 1. 객체 동적 할당 : new 영..

JDBC 란?

JDBC란? => Java Database Connectivity => 데이터 베이스에 대한 표준화 된 접근 방식 제공 => DBMS에 독립적으로 작성된 자바 어플리케이션이 데이터 베이스와 통신 가능 구성 자바 어플리케이션 -> JDBC API -> JDBC 드라이버 -> 데이터 베이스 JDBC 흐름 JDBC 드라이버 로드 -> DB 연결 -> 데이터 추가 및 수정 (SQL 문 사용) -> 결과처리 -> DB 연결 종료 JDBC 소스 예제 (간단한 SELECT문 사용 예제) => MySQL DB 내 customers 테이블 데이터 조회 import java.sql.*; public class JdbcExample { public static void main(String[] args) { // JDBC ..

아파치, 톰캣 연결법 (3가지)

mod_jk => 아파치 웹 서버와 톰캣 사이의 통신 담당 (AJP 프로토콜 사용) => 아파치 웹 서버에서 동적인 요청을 톰캣으로 전달 장점 - 높은 처리량 : AJP 프로토콜을 사용하여 아파치와 톰캣 간 효율적 통신 지원 - 유연한 설정 : workers.properies 파일을 사용하여 톰캣 서버와의 통신 설정을 자세히 할 수 있음 단점 - 설정 복잡성 : 사용자가 구성 옵션을 정확히 이해하고 설정해야 함 - 모듈 추가 필요 : mod_jk 모듈을 따로 설치하고 활성화 해야함 mod_proxy => 아파치 웹 서버를 프록시 서버로 동작 시켜 클라이언트의 요청을 톰캣과 같은 백엔드 서버로 전달 => HTTP, HTTPS 프로토콜 지원 장점 - 단순한 설정 : 아파치 웹서버 내장 모듈이므로 추가 설치 ..

[Linux] yum, rpm, 소스설치 란?? (패키지 다운로드 명령어)

yum 이란? => Yellowdog Updater Modififed => RPM 기반 리눅스 배포판에서 사용되는 패키지 관리 도구 => 패키지 의존성을 자동으로 처리하고 필요 패키지를 자동으로 설치함 => 패키지의 업데이트 및 관리를 쉽게 할 수 있음 => 설치된 소스들이 정해진 위치에 저장됨 => 설치 시간 단축 및 간단 단점 : 인터넷 연결 필수 및 패키지 저장소에 최신버전 패키지의 업데이트 시간이 소요될 수 있음 rpm 이란? => Red Hat Package Manager => 리눅스에서 사용되는 S/W 패키지 포맷 => 패키지를 설치, 업데이트, 제거 하는데 사용되는 명령어 => 패키지 의존성을 명확히 추적하고 관리 할 수 있음 => 독립적으로 작동하며 인터넷 연결이 필요치 않음 단점 : 패키..

OS/리눅스 2023.06.04

AWS 기능별 요금 부과 기준 (Lambda, sns, sqs, API Gateway, SES, DynamoDB)

Lambda 요금 부과 기준 요금 부과 기준 : 호출된 함수 실행 시간과 메모리 사용량에 따라 청구 요금 : 무료 티어 (매달 1백만 요청 또는 400,000 초의 실행 시간)를 포함하여 사용량에 따라 청구 매달 요청 수에 대해 $0.20/백만 요청, 함수 실행 시간에 대해 $0.00001667/GB-초의 가격이 부과 SNS 요금 부과 기준 (표준 주제 기준) 요금 부과 기준 : 호출된 함수 실행 시간과 메모리 사용량에 따라 청구 요금 : 무료 티어 (매달 1백만 SNS 요청 및 1백만 푸시 알림 메시지 무료제공)를 포함하여 사용량에 따라 청구 => 이후 1백만 개당 0.50 USD 요금 부과 (푸시 알림 메시지의 경우 추가 0.50 USD / 백만 메시지) => 64KB의 게시된 데이터 청크 하나가 1..

클라우드/AWS 2023.03.13

AWS SES - Amazon Simple Email Service (SNS와 차이점)

AWS SES 란? AWS 에서 제공하는 완전 관리형 이메일 발송 서비스 안전하고 신뢰성 높은 방법으로 이메일을 전송 이메일 인프라를 구축하고 관리할 필요 없이 비용 절감 가능 이메일 발송 이력과 통계 추적 가능 스팸 필터링, 이메일 유효성 검사, 이메일 인증 및 보안 기능 제공 -> 신뢰성 및 안전성 보장 이메일 마케팅, 발송 이메일, 회원 가입 확인 메일 등에 사용됨 AWS SES와 AWS SNS 이메일 차이점 SES는 완전 관리형 이메일 발송 서비스이며 안전하고 신뢰성 높은 방법으로 전송 SMTP, API 또는 AWS SDK를 통해 메일을 전송하고 이메일 템플릿을 사용하여 본문 구성 가능 SES는 필터링, 이메일 유효성 검사, 이메일 인증 및 보안 기능 제공 SNS는 다양한 푸시 알림 및 메시지를 ..

클라우드/AWS 2023.03.09
반응형