2016-12-07 1 views
0

문제점 : 계산 태스크를 쉽게 병렬 처리 할 수 ​​있습니다. 하지만 실시간 응답이 필요합니다.더 나은 셀러리 또는 스파크 인 계산 태스크 분배 용

두 가지 접근 방법이 있습니다. 1. Celery 사용 :에서 병렬로 작업 실행 2. Spark 사용 : spark 프레임 워크와 병행하여 작업 실행

spark는 확장 성 관점에서 더 좋다고 생각합니다. 하지만 웹 애플리케이션의 백엔드로서 Spark을 사용할 수 있습니까?

답변

1

셀러리 : - 정말 분산 형 스트리밍을위한 훌륭한 기술이며, Python 언어를 지원합니다. 그것은 계산에서 강력하고 쓰기 쉽습니다. Celery의 스트리밍 응용 프로그램은 많은 기능을 지원합니다. 그것의 작은 CPU에 머리.

스파크 - 그 다양한 프로그래밍 언어 자바, 스칼라, 파이썬을 지원합니다. 그것의 순수한 스트리밍은 Spark 설명서에 따라 마이크로 배치 스트리밍을 사용합니다.

작업이 스트리밍으로 만 채워질 수 있으며 SQl과 같은 기능이 필요하지 않은 경우. 그렇다면 셀러리가 최고 일 것입니다. 하지만 스트리밍과 함께 다양한 기능이 필요하다면 SPark가 더 좋아질 것입니다. 이 경우 애플리케이션은 몇 초 내에 데이터를 생성하는지 시나리오를 취할 수 있습니다.

2

위의 답을 추가하면 식별 할 수있는 다른 영역도 있습니다.

  1. 기존 빅 데이터 스택과 통합되었습니다.
  2. 데이터 파이프 라인 처리량
  3. "웹 응용 프로그램의 백엔드"에 대해 언급했습니다. 나는 그것의 읽기 작업을 가정합니다. 배치 애플리케이션의 응답 시간은 모든 웹 애플리케이션에 적합하지 않을 수 있습니다.

스트리밍을 선택하면 데이터를 클러스터에 더 빨리 보낼 수 있습니다. 하지만 웹 앱에 필요한 응답 시간을 보장하지는 않습니다. HBase와 Solr (검색하는 경우)를 볼 필요가 있습니다.

Spark은 의심의 여지없이 다른 배치 프레임 워크보다 더 빠르고 빠릅니다. 스트리밍에는 다른 몇 가지가있을 수 있습니다. 위에서 언급했듯이 선택을 한 매개 변수를 고려해야합니다.

관련 문제