본문 바로가기
반응형

전체 글920

Kong API 란? (API gateway) API Gateway - 콩(Kong)이란? Kong 공식 홈페이지를 보면, Kong은 하이브리드(hybrid) 및 멀티 클라우드(multi-cloud) 용으로 구축되었으며, 마이크로서비스 및 분산 아키텍처에 최적화된 API Gateway라고 한다. 그리고 가장 많이 사용되는 API Gateway 이다. API Gatewau 에 대한 내용은 아래 참고 포스팅 참고 바란다. Kong 의 공식 사이트는 아래이다. https://konghq.com/products/kong-gateway Most Trusted Open Source API Gateway | Kong Gateway Kong is a natural fit for PEXA embarking on the modernization journey. It .. 2024. 3. 7.
ESB란?(Enterprise Service Bus) ESB는 물리적으로 분산된 서비스 component 들을 통합여여 연동할 수 있도록 표준화된 메시지 버스와 프로토콜을 이용해서 서로 연동할 수 있는 시스템입니다. 아래 그림을 보자. 여러 서비스가 각각 존재하고 서비스 component 들을 통합해서 연동할수 있도록 표준화된 메세지 버스와 프로토콜을 이용해서 서로 연동할수 있는 시스템이다. ESB는 표준 사양을 기반으로 기존 시스템을 빠르고 저렴하게 이용할 수 있으며 요구사양이 바뀌어도 쉽게 대응할 수 있는 유연성이 있다. 또한, 확장성이 높고 기업내의 한 부문으로부터 전체에 적용할 수 있는 것, 핵심이 되는 서버등이 불필요하고 시스템을 가동한 채로 기기를 추가할 수 있는 것, 시스템 구성요소를 기능 단위로 분할해, 필요에 따라서 협조 동작하도록 분산 배.. 2024. 3. 6.
'is null' VS '= null' sql 쿼리 중에 가끔 실수를 하는 부분이 있어서 정리한다. where 절에 컬럼과 null을 비교 하려면 column = null 이 아닌 column is null 로 써줘야 한다. 이유는 null 의 특성에 있다. null은 비교할수가 없고 null에 대해 의미를 잘 이해하면 알것이다. null에 대해 자세한내용은 아래 참고 포스팅 참고 바란다. 참고 포스팅 https://thenicesj.tistory.com/253 null 관련 (Null, isEmpty(), null관련 annotation) 먼저 자바에서 null과 isEmpty 의 차이를 알아보면 null 인스턴스가 생성되지 않은 상태, list변수가 메모리에 아무런 주소값도 참조하지 않은 상태이다. list에 값이 없을 경우 null로 체.. 2024. 3. 5.
tree 구조 ls 이전에 리눅스 내에서 파일 리스트를 보기 위해서는 ls (list) 명령어를 사용해야한다는 포스팅을 작성한 적이 있다. 자세한 내용은 참고 포스팅 참고 바란다. 이번 포스팅에서는 폴더 내의 구조를 트리 구조로 쉽게 보기 위한 명령어인 tree 명령어 옵션을 정리하려고 한다. tree 명령어 사용시 아래 그림과 같이 보인다. 그리고 옵션은 아래와 같다. 옵션 의미 -d 디렉토리만 리스트 -a 모든파일 리스트 -f 표시되는 파일의 전체경로 표시 -L 디렉토리 depth 설정 -P 패턴이 매칭되는 파일들을 리스트 -I 선택된 파일들을 제외하고 리스트 --prune 텅빈 디렉토리 리스트 안함. -p 파일의 타입및 퍼미션 출력 -u 사용자(username) 출력 -h 파일의 사이즈 출력 (human readabl.. 2024. 3. 4.
alias 에 대해 리눅스에서는 다양한 명령어들이 있고, 옵션들까지 더해지면 정말 많은 명령어 종류가 있다. 이들중 자주쓰는데 길거나 오타가 많이 나거나 등등 하는 명령어가 있다. 그럴때 alias로 잡아주면 편하게 타이핑을 할수 있다. alias란? alias는 별칭이라는 뜻으로 리눅스에서 alias는 사용자가 명령어를 다른 이름으로 바꿔서 사용할 수 있는 쉘 내부 명령어를 말합니다. 이 alias를 통해서 일일이 입력하기 번거로운. 길이가 긴 명령어를 간단한 이름으로 바꿔서 등록하여 업무 효율을 높일 수 있습니다. 먼저 alias 만 치면 현재 등록되어있는 별칭들이 나온다. 그리고 별칭 등록은 간단하다. # alias 명령어별칭 = '명령어' alias ku=kubectl -ns test 이런식으로 작성해주면 된다. 하.. 2024. 3. 3.
[K8S] namespace, pod 설명 쿠버네티스에 대한 내용은 아래 참고 포스팅을 참고 바란다. 이번 포스팅에서는 쿠버네티스 내에서 중요한 요소인 namespace랑 pod에 대해서만 잠시 다뤄볼 것이다. 네임스페이스 클러스터 내 자원을 각기 그룹 짓기 위한 논리적인 분리단위이 네임스페이스다. 먼저 아래 그림은 쿠버네티스의 기본적인 아키텍쳐 구조이다. 워커 노드를 보게 되면 파드 내에 여러개의 컨테이너가 떠있는것을 볼수 있다. 그리고 아래 그림을 보자(https://tommypagy.tistory.com/230 출처입니다.) 위에 아키텍쳐 구조에서 pod내의 컨테이너나 여러 노드를 각각 머신이라고 한다면 네임스페이스는 이렇게 마치 자바의 aop 처럼 작동을 한다. 논리적으로 작업 공간을 나누어서 활용하는것이다. 논리적 구분으로 즉,서로 다른.. 2024. 3. 2.
컨테이너 런타임 이란?(kubernetes 등장 배경) 런타임에 대해서는 아래 참고 포스팅 참고 바란다. 런타임에 대해 다시 한번 다루면 런타임 환경이란 프로그램이 정상적으로 실행되기 위한 환경을 말하며 넓은 의미에서는 운영체제나 하드웨어도 포함된다. 그러면 컨테이너의 런타임이란 무엇일까? 컨테이너가 정상적으로 실행 되기 위해 환경을 말하며 넓은 의미로 까지 생각을 하면 도커, cri-o 등 컨테이너를 실행할수 있는 것을 말한다. 컨테이너 실행 순서는 아래와 같다. 컨테이너 이미지 다운로드 이미지를 압축해제하여, 컨테이너의 파일시스템 'Bundle' 생성 Bundle로부터 컨테이너 생성 얼마전 포스팅에서 OCI 에 대해 다룬 글이 있는데 OCI 에서는 이런 표준을 정의한다.(참고 포스팅 참고) 2021년까지는 컨테이너의 런타임을 도커가 거의 독점을 하고 있었.. 2024. 3. 1.
HA Proxy 란? https://www.haproxy.org/ HAProxy - The Reliable, High Perf. TCP/HTTP Load Balancer 2.5 2021-11-23 2023-Q1 (unmaintained) 2.5.14 2023/05/02 git / web / dir / announce / bugs 2.3 2020-11-05 2022-Q1 (unmaintained) 2.3.21 2022/07/27 git / web / dir / announce / bugs 2.1 2019-11-25 2021-Q1 (unmaintained) 2.1.12 2021/03/18 git / web / dir / an www.haproxy.org HA Proxy 란 하드웨어 단인 L4, L7 layer에서 해주는 로드밸런.. 2024. 2. 29.
hprof 파일이란(OutOfMemory 발생) HProf 의 약자는 Heap And CPU Profiling Agent로 JDK 레벨에서 제공되는 간단한 형태의 Profiler이다. 이렇게 써두면 이해가 잘 안 갈 것이다. 자바 프로그래밍을 하다가 OutOfMemory , 메모리 누수 가 발생했을 때, 자바에서는 OutOfMemoryError 가 발생한다. 예외, 에러에 대해서는 아래 참고 포스팅 참고 바란다. 에러 발생시 자바는 개체를 Heap 공간에 생성하고 이 생성 위치에 대한 주소를 가지고 개체를 참조하는 방식으로 사용이 된다. 개체를 생성하기 위한 힙 공간에 공간이 부족할 경우 이 에러가 발생을 한다. 자바 앱이 실행 중에 메모리 누수 등 문제가 발생할 경우 관련된 문제를 정리하여 덤프 파일을 생성할수 있다. Eclipse 를 사용중이라면 .. 2024. 2. 28.
반응형