자문자답 - 운영체제 기본
1. 프로세스와 쓰레드의 차이점 프로세스 프로세스는 디스크에 있는 프로그램이 실제 메모리에 할당되어 실행 중인 작업을 나타낸다. 운영체제는 프로세스가 생성되면 PCB를 통해 해당 프로세스의 정보를 관리하는데 PCB가 담고있는 정보는 아래와 같다. PID Process의 상태 PC 레지스터 스택 포인터 등… 이 정보들이 필...
1. 프로세스와 쓰레드의 차이점 프로세스 프로세스는 디스크에 있는 프로그램이 실제 메모리에 할당되어 실행 중인 작업을 나타낸다. 운영체제는 프로세스가 생성되면 PCB를 통해 해당 프로세스의 정보를 관리하는데 PCB가 담고있는 정보는 아래와 같다. PID Process의 상태 PC 레지스터 스택 포인터 등… 이 정보들이 필...
1. 브라우저에 HTTP 입력하면 일어나는 일(OSI 7 Layer || TCP/IP 4 Layer) 2. TCP/UDP 특징 TCP (Transfer Controller Protocol) Server-Client구조에서 사용되는 연결 지향형 프로토콜로 HTTP 1, 2버전에 적용된 프로토콜이다. 연결/연결해제 시 사용되는 N-way ...
참고자료 Spring Batch Terasoluna 정수원 Spring Batch Architecture 1.1 Job Job은 여러 Step을 포함한 컨테이너로 반드시 한 개 이상의 Step으로 구성해야한다. Step에는 실제로 배치를 돌리면서 수행할 비즈니스 로직을 책임을 갖는 역할이다. Job은 인터페이스로 J...
1. Nginx 설치 yum install nginx 2. 서버 블록 추가 user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; include /usr/share/nginx/modules/*.conf; events { work...
실습 템플릿 위 레포지토리가 구축하고자하는 환경은 각기 다른 온프레미스 서버 인스턴스에 카프카를 KRaft모드로 띄우고 CDC를 구축하는 것이다. 따라서 각 노드에는 Controller, Broker, Connect 총 3개의 프로세스가 동작하는 환경을 구축한다. Step 1. MSSQL 접속 및 데이터베이스, 스키마, 테이블 생성 S...
참고자료 Apache Kafka 공식문서 CONFLUENT 공식문서 DEVOCEAN Baeldung KRaft, Zookeeper기반으로 카프카 기동시키기 KRaft(Kafka Raft Metadata mode) 배경 및 개요 KRaft 동작 방식 KRaft 구성 방식 별도의 Controll...
JVM - 클래스 로더 JVM - 메모리 구조 JVM - 실행 엔진 (JIT 컴파일러) JVM - 실행 엔진 (GC)
JRE? JDK? JRE (Java Runtime Environment) 의 약자로 JVM, Java Class Library, Java Command, JDBC 등, Java 프로그램을 실행할 수 있는 기본 패키징을 가리킨다. JDK (Java Development Kit) 의 약자로, JRE 를 포함하여, 컴파일러인 javac, javado...
GC Log 남기기 java -jar ~~~ -Xlog:gc*:file=gclog/gc.log.$(date +%Y-%m-%d):time,tags:filecount=5,filesize=10m 위와 같이 JVM을 실행시킬 때 GC 로그를 남기는 옵션을 지정해줄 수 있다. 위 명령어를 통해 어떤 로그가 남는지 확인해보자. GC Log [2024-...
Passport가 필요한 시점 Gateway, ServiceDiscovery를 결합하여 MSA환경 생태계를 구축했다. 클라이언트는 로그인 후 발급받은 JWT를 바탕으로 게이트웨이에 접근하여 원하는 API를 호출할 수 있는 흐름이다. MSA는 비즈니스로직을 처리하기위해 여러 마이크로서비스와 소통하는 과정이 필요할때가 많다. 이 때 여러 마이크로서...