[쿠버네티스 스터디.1-1] 모던 애플리케이션의 특징
·
스터디/Cloud & k8s
전통적인 애플리케이션 vs 모던 애플리케이션전통적인 애플리케이션이란?모놀리식 구조로 수동 배포하는 구조의 애플리케이션모던 애플리케이션이란?빠르게 변화하는 기술 환경과 비즈니스 요구에 맞춰 설계된 애플리케이션- 특징: 클라우드 네이티브 (cloud-native) 전통적 애플리케이션모던 애플리케이션모놀리식 구조마이크로서비스 아키텍처 MSA수동 배포CI/CD 자동화 배포물리 서버 기반클라우드 및 컨테이너 기반낮은 확장성높은 확장성(scale- in, out)다운타임 발생 가능고가용성 및 무중단 배포  클라우드 네이티브애플리케이션을 클라우드 환경에서 효과적으로 개발, 배포, 운영할 수 있도록 설계하는 방법클라우드 환경에서 애플리케이션이 더 잘 동작하도록 만들어진 것 특징유연한 확장성빠른 배포 및 업데이트자동화:..
[Nginx] Server Keepalive와 Upstream Keepalive
·
스터디/JAVA
목차   1. Server Keepalive클라이언트와 nginx 간의 연결HTTP, Server 또는 Location block 내에서 keepalive_timeout, keepalive_requests 설정을 사용클라이언트와 nginx 간의 http 연결을 일정 시간 동안 유지해, 새로운 요청 시 재연결을 방지주요 설정keepalive_timeout클라이언트와 nginx 간의 연결을 유지할 최대 시간기본값: 75skeepalive_requests동일한 연결에서 처리할 최대 요청 수를 제한기본값: 100예시 코드 keepalive_timeout 60s;keepalive_requests 1000; 2. Upstream Keepalivenginx와 백엔드(ex: application server) 간의 연..
[Nginx] underscore 가 포함된 custom header 확인이 안 될 경우(underscores_in_headers)
·
스터디/JAVA
목차   1. 개요client request →  gateway → nginx → was server 과정으로 요청이 인입되고있습니다.하지만 gateway에서 nginx 로 커스텀 헤더가 인입되지 않는 이슈가 발생하였습니다. 2. nginx 와 underscroes_in_headersnginx 에서 커스텀 헤더가 인입되지 않는 이유와 해결책을 아래와 같습니다.기본적으로 nginx 는 http 헤더의 언더스코어 (_) 를 제거한뒤 springboot server 로 전달합니다.따라서 가급적이면 헤더에 언더스코어를 포함하지 않도록 정의하여 사용합니다.x-custom-header (o)x_custom_header (x)3. 해결방법언더스코어가 포함된 헤더를 사용하기위해서 아래와 같이 nginx.conf 에 설..
[JAVA] gson에서 Deserialize, Serialize, TypeAdaptor 적용하기
·
스터디/JAVA
목차   1. 개요test code 작성 중 gson 을 사용하다가 데이터 타입인 Instant를 이해하지 못하여 400 에러가 발생하였습니다.이때 gson이 Instant type을 이해할 수 있도록 직렬화/역직렬화 작업이 필요합니다.먼저 Gson, GsonBuilder에 대해서 알아보겠습니다. 2. Gson이란?java 객체를 json 문법으로 변환해주는 java library 입니다.json 문자를 java 객체로 변환하는 것도 제공합니다.java 객체 → json 문법으로 변환하는 것을 직렬화(serialization)라고 하고json 문법 → java 객체로 변환하는 것을 역직렬화(deserialization)라고 부릅니다. 3. GsonBuilderGson 클래스에는 객체를 json 형식으로 ..
[Springboot] @PreConstruct와 @PreDestory 의미 사용법
·
스터디/Spring
목차   1. 스프링 빈의 생명 주기스프링 빈의 생명 주기를 먼저 살펴보면 아래와 같습니다.스프링 컨테이너 생성스프링 빈 생성의존 관계 주입 (DI)초기화 콜백 - 빈이 생성되고 빈의 의존성이 주입된 이후 호출된다. 애플리케이션 동작 및 데이터 사용소멸전 콜백 - 빈이 소멸되기 직전에 호출된다.스프링 종료 2.@PostConstructPostConstruct 어노테이션이란 무엇이며 언제 사용할까요?객체를 초기화 할 때 수행한다.객체가 생성된 후 별도의 초기화 작업을 위해 실행하는 메소드를 선언하여 사용한다.@PostConstruct 어노테이션을 설정해놓은 init 메소드는 WAS 가 띄워질 때 실행된다.@PostConstructpublic void init() { System.out.println("초기..
[Kotlin] List와 MutableList 개념 및 차이점
·
스터디/Kotlin
val countryList = listOf("한국","미국","일본")val minusCountryList = countryList - "일본" // "한국", "일본" 값의 Listval plusCountryList = countryList + "중국" // "한국","미국","일본","중국" 값의 List val newlistData = listOf(1, 2, 3)val plusList = listOf(4, 5, 6)newlistData.addAll(plusList) // List 합치기val newlistData2 = plusList1 + plusList2 // + 기호로 합치기val newListData3 = plusList1.plus(plusList2) // plus함수로 합치기val newL..