본문 바로가기

전체 글

(750)
[Container] kubernetes in action(7) - 파드 메타데이터, 그외 리소스 액세스 보호되어 있는 글입니다.
[리눅스] trap을 이용한 signal 처리 signal은 unix 운영체제에서 비동기적인 사건을 전송하기 위해서 사용하는 설비다. 비동기적인 사건이란 언제 발생할지 예측할 수 없는 사건으로 터미널 종료, 메모리 침범, 알람, 장치로부터의 입력 등의 사건이 이에 해당한다. 유닉스 시스템은 이러한 시그널 처리가 가능하도록 signal(:12) 제어용 C 함수들을 제공한다. 그러나 이들 C 인터페이스 함수는 간단한 일을 처리하기에는 좀 부담스러운게 사실이다. 여기에 trap(:12)을 이용해서 shell 스크립트로 이벤트를 처리하는 방법을 소개하고자 한다. 시그널은 프로세스에 종속적으로, 해당 프로세스별로 받아들이거나 무시하는 시그널이 정의된다. 그러므로 shell 상에서 이벤트를 처리하는 스크립트를 작성하려면, shell에서 받아들이는 시그널의 종류..
[Container] kubernetes in action(6) - 컨피그맵과 시크릿 보호되어 있는 글입니다.
[Spring] WebFlux 살펴보기 HTTP를 이용한 시스템 범위가 확대되고 동시 액세스가 늘면서 웹 애플리케이션의 컴퓨터 리소스 대기 시간이 많이 늘어났다. 이에 따라 비동기 처리를 이용한 웹 애플리케이션이 필요해졌다. 그 해결책으로 스프링 5와 스프링 부트 2는 리액티브 프로그래밍인 웹플럭스를 이용해 웹 프로그램을 작성한다. 이 프로그램은 동기 방식이 아니므로 블록되지 않고 실행된다. 즉, I/O 대기 같은 상태가 되지 않으므로 I/O가 발생하더라도 실행 중인 상태를 유지할 수 있다. 2018년에는 IoT나 API를 활용한 데이터 수집과 같이 기본보다 더 많은 데이터를 취급하는 경우가 많아졌다. 많은 데이터를 처리하기 위해 풍부한 리소스를 이용해 병렬 처리하려 했지만, 입출력 대기 등이 영향을 끼쳐 그다지 효과적으로 병행이나 병렬 처리..
[Spring] Web on Reactive Stack 문서(2) - WebClient, WebSocket 2. 웹클라이언트 (WebClient) 스프링 웹플럭스는 HTTP 요청을 위한 리액티브한 논 블로킹 WebClinet를 포함한다. 이 클라이언트는 선언적 구성을 위한 리액티브 타입을 사용하는 함수형의 능수능란한 API를 가지고 있다. 리액티브 라이브러리를 보라. 웹플럭스 클라이언트와 서버는 동일한 논 블로킹 코덱에 의존하여 요청과 응답 내용을 인코딩 및 디코딩한다. WebClient는 내부적으로 HTTP 클라이언트 라이브러리에게 위임한다. 기본적으로 Reactor Netty를 사용하고, 제티 리액티브 HttpClient를 위한 내장형 지원이 있다. 그리고 ClientHttpConnector를 통해 다른 라이브러리도 사용 가능하다. 2.1. 설정 (Configuration) WebClient를 생성하는 가..