Feign Client 란?
·
1.프로그래밍/Spring
Feign 란?Feign은 Neflix에서 개발된 HTTP Client binder 이다.Feign을 이용하면 HTTP Client를 보다 쉽게 작성할 수 있다.RestTemplate, WebClient , HttpURLConnection (설마 아직도 이걸 직접…?) 을 사용하는것보다 확실히 훨씬 직관적이고 코드도 간결하다.Feign 기초 셋팅의존성 org.springframework.cloud spring-cloud-starter-openfeign@EnableFeignClients@SpringBootApplication@EnableFeignClients// @EnableFeignClients(basePackages = "com.example.clients") 명시적 선언public clas..
Linux에 MiniKube 설치하기
·
1.프로그래밍/개발
Linux에 MiniKube 설치하기시스템 요구사항Minikube를 설치하기 전에 아래 요구 사항 확인.운영체제: Linux (64-bit)CPU: 2개 이상의 CPU 코어RAM: 2GB 이상가상화 지원: VM을 사용하여 Minikube를 실행하는 경우 가상화가 활성화되어 있어야 한다.결과에 vmx 또는 svm이 포함되어 있다면, 가상화가 가능하다는 뜻.$ grep -E --color 'vmx|svm' /proc/cpuinfo시스템 아키텍처 확인먼저 시스템 아키텍처를 확인.$ uname -mx86_64: 64-bit 아키텍처 (일반적인 Intel/AMD 기반 PC)aarch64: ARM 64-bit 아키텍처 (예: Raspberry Pi, 일부 서버)armv7l: ARM 32-bit 아키텍처올바른 kub..
Python requests 모듈 TimeOut 미설정 이슈
·
1.프로그래밍/Python
발단.Airflow 에서 Engine 의 Job 종료에 대한 Pooling 진행,Airflow 에서 HTTP Client 로는 requests 모듈 사용Engine 내부 Hazelcast OutOfMemory 로 인해 다운Engine 의 WAS 프로세스는 살아있음 (unhealthy)Airflow Pooling Task 무한정 진행원인Python 의 request 모듈의 기본 설정에는 Connection TimeOut 설정과 Read TimeOut 에 대한 기본값이 None 이다.즉, Connection 을 맺는 것과 응답을 기다리는 것을 무한정 기다리게 된다.위 처럼 Engine 이 응답을 주지 못할 경우에는 정말 무한정 기다리게 된다.공식문서 내용TCP 3 way 통신 시간의 3배수로 설정하는 것이 ..
Connection Timeout과 Read Timeout
·
1.프로그래밍/개발
Connection Timeout과 Read Timeout의 의미Connection Timeout서버와 클라이언트가 연결되는 데 걸리는 최대 시간. 주로 TCP 연결이 설정되는 3-way handshake에서 발생하는 타임아웃임. 연결이 설정되지 않으면 에러가 발생함.Read Timeout이미 연결된 상태에서 데이터가 주고받는 데 걸리는 최대 시간. 이 시간을 초과하면 데이터를 읽을 수 없는 것으로 보고 에러 발생. 간단히 말해 데이터를 읽는 중에 설정되는 타임아웃임.적절한 타임아웃 값 설정 방법네트워크는 항상 100% 안정적이지 않고, 패킷 유실도 종종 일어날 수 있음.타임아웃을 설정할 때 두 가지를 고려해야 함:네트워크에서 발생하는 패킷 유실이 꼭 장애 상황은 아님.네트워크 문제가 발생하면 빠르게 인..
Docker 란?
·
1.프로그래밍/개발
Docker 란?Go 언어로 작성된 리눅스 컨테이너 기반 오픈소스 가상화 플랫폼.가상화란?컴퓨터 리소스의 추상화를 일컫는 광범위한 용어하나의 컴퓨팅 자원을 마치 여러 개인 것처럼 쪼개서 사용하거나 혹은 여러 개의 컴퓨팅 자원을 묶어서 하나의 자원인 것처럼 사용하는 것.대표적으로 GCP(Google Cloud Platform), AWS 등이 있다.가상화가 왜 등장했을까?서버 관리자 👷‍♂️👷‍♂️: 흐음… 1서버 CPU 사용률이 10프로… 2서버 10프로… 3서버 10프로…👷‍♂️: 세개 그냥 묶어서 하나의 서버에 돌릴까?👷‍♂️: 서로 서비스 OS도 다르고 문제 되려나?👷‍♂️: 안정성도 높이고, 리소스 낭비도 안되게 하려면 어떻게 할까?위와 같은 흐름으로 등장한게 가상화 플랫폼 VM(Virtu..
헤이즐 캐스트 (Hazelcast) 란?
·
1.프로그래밍/개발
인메모리 컴퓨팅이란?하드웨어 관점 : 데이터 분석 시스템은 세가지 구성요소로 이루어져 있다.1. 연산을 수행하는 프로세서2. 처리의 대상이 되는 데이터를 저장할 저장장치3. 이 둘 사이에 데이터를 전송하는 전송할 시스템현재 사용되는 시스템에서의 병목은 단연 저장장치이다. 정확히 말하면 대용량 저장장치로 사용되는 하드디스크 시스템이 전체 시스템의 성능을 저하하는 병목이다.이러한 병목 현상을 극복하기 위해서 오랫동안 사용되고 발전된 방법은 캐시—메모리—하드디스크로 구성되는 메모리 계층 구조를 사용하는 것이었다.하지만, 기술의 발전에 따라 처리해야 할 데이터양 증가 기존의 캐시 시스템으로 지원 불가.이를 해결하기 위해 인메모리 컴퓨팅 사용즉, 병목현상을 해결하기 위한 대안으로 데이터를 메모리에 보관·처리하고 ..
[DB] DB 형상관리 - Liquibase Tip
·
1.프로그래밍/DB
Valid Check Sum ErrorLiquibase가 ChangeLog 파일의 체크섬이 이전과 다르다고 인식.해결방법 - 1 : check sum clearLiquibase가 저장한 체크섬을 지우고, 새롭게 ChangeSet를 적용하며 새로운 체크 섬 계산.테스트 환경이나 개발 환경에 적합.mvn liquibase:clearCheckSumsmvn liquibase:update해결방법 - 2: changeLog 파일 분석Liquibase가 이미 적용한 changeLog 파일이 변경되었을 가능성 존재.의도에 의한거라면 [ 해결방법 - 1], 실수에 의한거라면 복구해결방법 - 3 : DTABASECHANGELOG 직접 업데이트DB에 DTABASECHANGELOG 테이블에 직접 수동으로 체크섬 값을 현재 체..
[DB] DB 형상 관리 - Liquibase Rollback
·
1.프로그래밍/DB
DB 형상 관리 - Liquibase Rollbackhttps://docs.liquibase.com/tools-integrations/maven/commands/maven-rollback.html Maven rollbackMaven rollback rollback is a Maven goal that allows you to roll back change you made to the database. It also marks changesets that were deployed as unapplied. You can roll back changesets using the liquibase.rollbackCount, liquibase.rollbackTag, or liquibdocs.liquibase.com..
MyeongDev
'1.프로그래밍' 카테고리의 글 목록