Bull 메시지 큐를 활용한 요청/응답 메시지 패턴 구현
Bull 메시지 큐를 활용한 요청/응답 메시지 패턴 구현 상관 식별자(Correlation Identifier) 개념과 Bull 메시지 큐를 활용해 단방향 채널 위에 요청/응답 패턴을 구현합니다. 1. 들어가며 보통 메세징 시스템에서 생산자와 작업자 사이에 요청/응답 통신이 반드시 필요한 것은 아니며, 단방향 비동기 통신 파이프 라인 구조를 통해 ...
Bull 메시지 큐를 활용한 요청/응답 메시지 패턴 구현 상관 식별자(Correlation Identifier) 개념과 Bull 메시지 큐를 활용해 단방향 채널 위에 요청/응답 패턴을 구현합니다. 1. 들어가며 보통 메세징 시스템에서 생산자와 작업자 사이에 요청/응답 통신이 반드시 필요한 것은 아니며, 단방향 비동기 통신 파이프 라인 구조를 통해 ...
1. Duplex 스트림 ▲ Duplex 스트림 Duplex 스트림은 네트워크 소켓과 같이 데이터 소스 이면서 데이터 목적지인 엔티티이다. stream.Readable 과 stream.Writable 두 스트림의 함수를 상속한다. 즉, Duplex 스트림으로 데이터를 read() 또는 write() 할 수 있고 read 및 drai...
Writable 스트림 Writable Writable 스트림은 파일 시스템의 파일, 소켓, 표준 출력 인터페이스 등 대상 데이터의 목적지를 나타낸다. write 함수를 통해 Writable 스트림으로 데이터를 전달할 수 있다. writable.write(chunk, [encoding], [callback]) 인코딩 인자는 선택 사항이며...
Readable 스트림 1. 스트림 해부 스트림 코어 모듈은 네 가지 기본 추상 클래스를 제공한다. Readbale writable Duplex Transform 각 스트림 클래스는 EventEmitter 를 상속받으며, 스트림이 읽기를 마쳤을 때 ‘end’, 쓰기를 완료했을 때 ‘finish’, 오류가...
버퍼와 스트림 1. 버퍼링 대 스트리밍 ▲ 버퍼 모드 ▲ 스트림 모드 버퍼 모드는 리소스에서 들어오는 모든 데이터를 버퍼에 수집한다. 그런 다음 전체 버퍼를 소비하는 곳으로 전달한다. 반면에 스트림은 리소스에서 데이터가 도착하자마자 데이터를 처리할 수 있다. 스트림은 공간(메모리 사용량) 과 시간(계산 시간) 측면에서 ...
Kubernetes for application developers(LFD459) 2. 빌드 2-1. 컨테이너 옵션 2-1-1. 도커 도커는 서버를 구동하기 위한 환경을 이미지 형태로 구성해 컨테이너에 설치해 준다. 도커를 사용하면 한 컴퓨터에 다양한 환경을 구축할 수 있다. 가상화와 다른 점은 가상화는 새로...
Kubernetes for application developers(LFD459) 1. 쿠버네티스 구조 1-1. 쿠버네티스란? 컨테이너를 데스크탑에서 실행하는 것은 쉽다. 하지만 여러 호스트에 다운타임 없이 스케일링 하며 배포하고 연결하는 것은 어렵다. 쿠버네티스는 분산 시스템을 탄력적으로 실행하기 위한 프레임워크를...
Statement canceled 에러의 원인과 해결 Statement Timeout 티베로 서버를 JDBC 로 연결해 사용하던 중 JDBC-12040:Statement canceled 에러가 발생했다. 이 에러는 statement timeout 에 의해 발생하는 에러이다. statement timeout 은 statement 하나가 얼마나 오...
가상 메모리와 스왑 메모리 스왑 메모리는 프로세스 단위이다. 메모리에 P1, P2, … P10 10개 프로세스가 돌고 있는데 남은 메모리 공간이 없다. 이 때 P11 을 실행 시키고 싶을때 메모리 확보를 위해 일부 프로세스를 디스크로 내리고 P11 을 메모리에 올리는 과정을 스와핑이라고 한다. 스왑 과정은 시간이 오래 걸리는 작업이고 필요한 공간이...
DB 샤딩, 클러스터링, 레플리케이션 1. 클러스터링 DB 서버가 다운되는 경우를 대비하기 위해 DB 서버를 여러 개로 만든다. 2. 레플리케이션 DB 데이터가 손실되는 경우를 대비하기 위해 실제 저장소를 복제한다. 3. 샤딩 데이터가 너무 많아 검색이 느린 경우 검색 속도를 높이기 위해 테이블을 나눠서 저장한다. D...