일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- helm
- ip
- Trino
- airflow
- kubectl
- AWS
- Vision
- Packet
- MAC address
- java
- kubernetes
- jvm
- PostgreSQL
- grafana
- kubeadm
- CVAT
- aws s3
- JavaScript
- docker
- EC2
- Operating System
- Network
- CSV
- tcp
- Kafka
- log
- OS
- Spring
- Python
- zookeeper
- Today
- Total
JUST WRITE
성능향상, 고가용성을 위해서 Multi Server로 구성하다보면 Session 정합성 문제가 발생하게 된다. 이러한 문제를 해결하기 위해 Sticky Session, Session Clustering과 같은 기술이 고안되었다. Sticky Session sticky란 단어는 사전적으로 끈적거리는 이라는 의미를 가진다. Sticky Session는 특정 사용자가 처음 Request를 처리한 서버에서 계속 Request를 처리하는 방식이다.특정 사용자 - 특정 서버가 끈적한 관계(?)를 가지게 되는 구조이다.Cookie를 이용하거나 IP Tracking 방식을 통해 구현된다. 단점 Load Balancing이 잘 작동하지 않을 수 있다. 한 서버로 과부하가 될 수 있다. 해당 서버 fail시 Session..
Load Balancing 부하 분산 서비스가 원활하게 작동할 수 있도록 트래픽을 여러 서버로 분산, 나눠서 처리할 수 있게 해주는 기술 Load Balancing Algorithms Round Robin -> 가장 일반적인 알고리즘, 가중치에 따라 순차적으로 서버 분산. Least Connections -> 가장 접속 수가 적은 서버로 분산, 긴 Session(LDAP, SQL, TSE)에 적합. Least Time -> 응답시간이 빠르고 active인 Connection이 적은 쪽으로 분산. Hash -> Client IP, Clinet URL과 같은 Key를 기준으로 분산. Random with Two Choices -> 임의 2개 서버 선택 후 Least Time 알고리즘 적용하여 분산. URL_..
HA와 RAC는 Database의 고가용성을 위해 고안된 Architecture이다. HA High Availability 2개 서버를 준비하여 하나는 active, 다른 하나는 standby 상태로 세팅한다. 모든 처리를 active인 서버에서 처리한다. standby 상태인 서버는 active 서버가 작동불능상태일때 처리를 한다(failover). 장점 구조가 단순하다. 하나의 서버만 동작하고 있어 유지비가 저렴하다. 단점 서버간 동기화 작업이 필요하다. failover 시 진행 중이던 트랜잭션이 유실된다. -> 트랜잭션이 많은 시스템에 부적합 RAC Real Application Cluster Oracle에서 지원하며, 2개 이상의 인스턴스가 하나의 Storage를 바라보고 있는 구성이다. 모든 인..
이 글은 책 자바의 정석의 7장을 정리하여 작성한 글입니다. 접근 제어자 접근 제어자(Access Modifier)는 외부에서 접근하지 못하도록 제한하는 역할이다. 접근 제어자는 클래스, 멤버변수, 메서드, 생성자에 사용할 수 있다. 접근 제어자는 생략 가능하며, 생략 시 default 상태이다. private 같은 클래스 내에서만 접근이 가능 default 같은 패키지 내에서만 접근이 가능 protected 같은 패캐지 내 OR 하위 클래스(다른 패키지에 속해도) 에서 접근이 가능 public 접근 제한이 없음 접근 제어자를 이용한 캡슐화(Encapsulation) 접근 제어자를 활용하여 외부로부터 클래스 내 데이터를 보호한다. 클래스 내에서만 사용하는 속성, 작업을 클래스 내에 감추기 위해 접근 제어..
JAVA 관점에서 OOP에 대해서 살펴보겠습니다. OOP Object-oriented Programing 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 상호작용이다. 컴퓨터 프로그래밍 패러다임 중 하나이다. 객체의 관점에서 프로그래밍을 하는 것이다. 객체들의 유기적인 관계를 통해서 프로세스가 진행된다. Application을 구성하는 요소들을 객체로 바라보고, 유기적으로 연결하여 프로그래밍 하는 것이다. 구성요소 Class 클래스는 사용자 정의 데이터형(user defined data type)이며 객체의 설계도이다. Object 객체는 클래스의 인스턴스이다. 프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된다. Method 메소드는 클래스에 정의 되어 객체의 동작을 ..
이 글은 책 자바의 정석의 1장을 정리하여 작성한 글입니다. 운영체제에 독립적 이러한 특징은 일종의 에뮬레이터인 자바가상머신(JVM) 덕분에 가능하다. JAVA 응용 프로그램은 JVM과 통신, JVM이 해당 통신을 운영체제가 이해하도록 변환 후 전달한다. 따라서, JAVA는 운영체제제에 독립적, JVM은 운영체제에 종속적이다. 여러 운영체제에 설치할 수 있는 서로 다른 버전의 JVM을 제공하고 있다. 객체지향언어 (OOP) Object-oriented Programing Language JAVA는 객체지향 프로그래밍언어 중의 하나이다. 객체지향개념의 특징인 상속, 캡슐화, 다형성이 잘 적용되어 있다고 평가 받고 있다. 자동메모리관리 JAVA에서는 가비지컬렉터(Garbage Collector)가 자동으로 ..