samza

http://samza.incubator.apache.org/


Samza is made up of three layers:

samza架构和hadoop-mapreduce架构非常类似. 1)从kafka读取数据 2)经过samza-api进行处理 3)将输出写入kafka.

samza-ecosystem.png samza-hadoop.png samza-job.png

因为samza架构借鉴了hadoop-mapreduce架构, 所以许多术语也沿用下来了.


通过streaming-layer将jobs串联起来组成dataflow-graphs.

samza-dag.png


关于state管理问题, samza-api层面提供了local-storage接口, 但是这个接口其实没有解决太多问题. 使用这个local-storage接口虽然可以在本地存储部分状态数据来减轻对remote-storage的压力, 但是如果task失败的话 samza并不负责这个local-data的迁移. 所以一些关键性的数据还是必须存储在remote-storage上比如当前处理的message-id等.

comments powered by Disqus