worker 4

Apache Spark 클러스터 구조

Apache Spark Cluster 구조 스팍의 기본 구조는 다음과 같다. 스팍 프로그램은 일반적으로 “Driver Program”이라고 하는데, 이 Driver Program 은 여러개의 병렬적인 작업으로 나뉘어져사 Spark의 Worker Node(서버)에 있는 Executor(프로세스)에서 실행된다. 1. SparkContext가 SparkClusterManager에 접속한다. 이 클러스터 메니져는 스팍 자체의 클러스터 메니져가 될 수 도 있고 Mesos,YARN 등이 될 수 있다. 이 클러스터 메니저를 통해서 가용한 Excutor 들을 할당 받는다 2. Excutor를 할당 받으면, 각각의 Executor들에게 수행할 코드를 보낸다. 3. 다음으로 각 Excutor 안에서 Task에서 로직을 수..

비동기 네트워크 서버 프레임웍 Vert.x 소개

비동기 네트워크 서버 프레임웍 Vert.x조대협 * 서문Vert.x는 NodeJS와 같은 비동기 소켓서버 프레임웍이다.Vert.x에 대한 이해를 돕기 위해서, Tomcat과 같은 WebApplication Server(이하 WAS)에 대해서 먼저 간단하게 짚고 넘어가자. Tomcat의 경우에는 HTTP request가 들어오면, request가 앞의 request Queue에 쌓이게 된다.쌓이게된 request들은 Thread Pool에 있는 Thread에게 하나씩 할당되어, request를 처리하고, 작업이 끝나면, request가 들어온 connection으로 response를 보낸후, 작업을 끝낸다. 작업이 끝난 Thread는 다시 Thread Pool로 들어간다.이런 구조에서, Tomcat이 순간..

Vertx 개념 잡기 (instance,thread,classloader,standard verticle,worker verticle)

Vertx 개념 잡기 (instance,thread,classloader,standard verticle,worker verticle) l Verticle :Vert.x의 하나의 애플리케이션 일종의 Vertx 판 Servlet이라고 이해하면 빠름Ÿ 기본 특성 : 독립된 Class Loader에서 독립된 Oject로 존재함 > Multi threading 문제가 발생하지 않음.Ÿ ELP (Event Loop) Verticle : 일반 Verticle. 항상 같은 Thread에서만 돈다. 같은 Verticle은 여러개의 Verticle instance로 존재할 수 있으며, 동시에 각각의 Thread에서 수행하는 것이 가능함.Ÿ Worker Verticle – ( Q에서 subscribe 받아서 뒤에서 비동기..

Vert.x Worker Concept

Worker에 대한 개념 설명[개인 공부 노트이기 때문에 설명이 매우 어렵습니다. 나중에 다 이해하면 다시 개념 정리해서 올리도록 하겠습니다.]관련 코드 : https://github.com/bwcho75/vertx_study/tree/master/worker_sample 앞단의 Network 핸들러 (TCP,HTTP)등에서 request를 읽은 후에, Event Bus 를 통해서 Backend의 Worker로 보낸다. 이 개념은 JMS나 MQ등을 이용해서 뒷단에서 Message Consumer 들이 처리하는 Q 기반의 Async 기반의 개념과 매우 유사하다. 그럼 Vert.x에서 차이점은 이 Worker가 작업을 처리한 후에, 작업을 끝내면 작업 완료 메시지가 Message Producer (즉 Net..