2016-04-14 47 views
9

Apache Apex è simile a Apache Storm.Come Apache Apex è diverso da Apache Storm?

  • Gli utenti creano applicazione/topologia come Grafico Aciclico Diretto (DAG) su entrambe le piattaforme. Apex utilizza operatori/flussi e Storm utilizza beccucci/flussi/bulloni.
  • Entrambi elaborano i dati in tempo reale rispetto all'elaborazione in batch.
  • Entrambi sembrano avere un throughput elevato & bassa latenza

Così, a colpo d'occhio, sia assomigliano molto e io non sono molto ottenere la differenza. Qualcuno può spiegare quali sono le differenze chiave? In altre parole, quando dovrei usare uno invece dell'altro?

+0

Aggiungi Apache Flink e Apache Beam, tutti i processori DAG – user3613754

+0

Inoltre, per favore aggiungi casi d'uso, preferisco quale tipo di caso d'uso è adatto a ciascuno. – ChikuMiku

risposta

4

Esistono differenze fondamentali nell'architettura che rendono ciascuna piattaforma molto diversa in termini di latenza, ridimensionamento e gestione dello stato.

A livello di base,

  1. Apache Tempesta utilizza il riconoscimento di registrazione per garantire la consegna dei messaggi.
  2. Apache Apex utilizza il checkpoint per garantire la consegna dei messaggi.

È possibile apprendere ulteriori differenze nel seguente blog che include anche altre piattaforme di elaborazione stream principali.

https://databaseline.wordpress.com/2016/03/12/an-overview-of-apache-streaming-technologies/

2

Architettura e funzioni

+-------------------+---------------------------+---------------------+ 
|     |   Storm   |   Apex  | 
+-------------------+---------------------------+---------------------+ 
| Model    | Native Streaming   | Native Streaming | 
|     | Micro batch (Trident  |      | 
+-------------------+---------------------------+---------------------+ 
| Language   | Java.      | Java (Scala)  | 
|     | Ability to use non  |      | 
|     | JVM languages support  |      | 
+-------------------+---------------------------+---------------------+ 
| API    | Compositional    | Compositional (DAG) | 
|     | Declarative (Trident)  | Declarative   | 
|     | Limited SQL    |      | 
|     | support (Trident)   |      | 
+-------------------+---------------------------+---------------------+ 
| Locality   | Data Locality    | Advance Processing | 
+-------------------+---------------------------+---------------------+ 
| Latency   | Low      | Very Low   | 
|     | High (Trident)   |      | 
+-------------------+---------------------------+---------------------+ 
| Throughput  | Limited in Ack mode  | Very high   | 
+-------------------+---------------------------+---------------------+ 
| Scalibility  | Limited due to Ack  | Horizontal   | 
+-------------------+---------------------------+---------------------+ 
| Partitioning  | Standard     | Advance    | 
|     | Set parallelism at work, | Parallel pipes,  | 
|     | executor and task level | unifiers   | 
+-------------------+---------------------------+---------------------+ 
| Connector Library | Limited (certification) | Rich library of  | 
|     |       | connectors in  | 
|     |       | Apex Malhar   | 
+-------------------+---------------------------+---------------------+ 

operabilità

+------------+--------------------------+---------------------+ 
|   |   Storm   |   Apex  | 
+------------+--------------------------+---------------------+ 
| State  | External store   | Checkpointing  | 
| Management | Limited checkpointing | Local checkpointing | 
|   | Difficult to exploit  |      | 
|   | local state    |      | 
+------------+--------------------------+---------------------+ 
| Recovery | Cumbersome API to  | Incremental   | 
|   | store and retrieve state | (buffer server)  | 
|   | Require user code  |      | 
+------------+--------------------------+---------------------+ 
| Processing | At least once   |      | 
| Semantic | Exactly once require  | At least once  | 
|   | user code and affect  | End to end   | 
|   | latency     |      | 
|   |       | exactly once  | 
+------------+--------------------------+---------------------+ 
| Back  | Watermark on queue  | Automatic   | 
| Pressure | size for spout and bolt | Buffer server  | 
|   | Does not scale   | memory and disk  | 
+------------+--------------------------+---------------------+ 
| Elasticity | Through CLI only   | Yes w/ full user | 
|   |       | control    | 
+------------+--------------------------+---------------------+ 
| Dynamic | No      | Yes     | 
| topology |       |      | 
+------------+--------------------------+---------------------+ 
| Security | Kerberos     | Kerberos, RBAC,  | 
|   |       | LDAP    | 
+------------+--------------------------+---------------------+ 
| Multi  | Mesos, RAS - memory,  | YARN    | 
| Tenancy | CPU, YARN    | full isolation  | 
+------------+--------------------------+---------------------+ 
| DevOps  | REST API     | REST API   | 
| Tools  | Basic UI     | DataTorrent RTS  | 
+------------+--------------------------+---------------------+ 

Fonte: Webinar: Apache Apex (Next Gen Hadoop) vs Storm - Confronto e migrazione Struttura https://www.youtube.com/watch?v=sPjyo2HfD_I