You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

여러가지 소스에서 분석및 집계를 수행하여 추천데이터 혹은 목적성 데이터를 만들어야하며

그렇게 만들어진 데이터를 수십만명의 사용자에게 제공하기 위해 실시간 검색기능이 필요하다고 가정해봅시다.


기능 요약

  • 여러가지 소스에서 데이터를 분석처리하여, 규모가 작은 목적성 데이터를 만들어냅니다.
  • 배치/실시간처리등 Master LocalDB는 다양한 방법을 통해 데이터가 변경됩니다.
  • MasterActor은 MasterLocalDB의 변경사항을 알려줍니다.
  • SlaveActor는 Master의 변경사항을 다시 LocalDB에 분산 복제를 시도합니다.
  • SlaveAPI는 LocalDB또는 SlaveActor를 통해 API 검색 서비스를 합니다.
  • SlaveActor는 필요에따라, RDB가 아닌 방식을 통해 Mapreduce 기능을 수행합니다.

1차 설계:


설계는 마무리되었고, 아래와같은 컨셉을 사용할것입니다.

RDB와 아닌것의 저장소를 썩어서 상호운영이 가능하게 하는것은 어려운일이고

SPARK 엔진 + 하둡 + RDB + 파이썬기반 분석시스템 조합으로 이러한 부분의 문제를 상당히 단순화하고 강력한 솔류션을 제공해주며

그것을 잘이용하는게 바람직할수도 있으나,

여기서의 목표는 직접 코드설계가능한 마이크로서비스 작성이며 데이터의 규모보다는 작은 데이터의 변화를 가장빠르게 처리하는것이 우선이며

그것을 통해 서비스에 활용될 일이 없을지라도, 이미 검증이된 각각다른 기술을 이해하고 상호 연동하는 방법을 아는것입니다.

주요컨셉:

Spring wirh AKKA https://gofore.com/en/collecting-data-with-akka-and-spring-boot/

JPA Persitence : http://heowc.tistory.com/55

Spring Batch : http://wiki.gurubee.net/pages/viewpage.action?pageId=4949437

Akka Persitence : https://doc.akka.io/docs/akka/2.5.5/scala/persistence.html

MapReduce : https://blog.knoldus.com/2014/09/29/map-reduce-with-akka-and-scala-the-famous-word-count/


1차 설계의 문제점

준비중

2차 설계:

준비중



  • No labels