من بیشتر تجربه کار با Akka و کمی هم Spark رو دارم ولی مطالعاتی هم در زمینه Hadoop داشتم. به نظر من مقایسه Spark و Hadoop در زمینه Big Data و پردازش موازی روی اون data ها خیلی درسته البته این رو هم باید در نظر داشت که Spark کار های بیشتری میکنه ولی این مقایسه کاملا درسته ولی مقایسه Akka با اونها از نظر من درست نیست. در مستندات Akka، تیم Akka خیلی تاکید داره که ما toolkit هستیم و وقتی بیشتر درگیرش میشی میبینی Akka یه ابزاریه که بیشتر مناسبه باهاش Framework هایی مثل Spark یا Hadoop رو نوشت. کلا Akka با رویکرد toolkit بودن طراحی شده و اگه بخای برای پردازش روی Big Data استفاده کنی باید کلی کد اضافه بزنی.
ما در عمل از Akka بعنوان coordinator و بقول شما مکمل برای اسپارک استفاده کردیم و خیلی عالی جواب گرفتیم.
اگه بخام خلاصه بگم سطح abstraction در Akka خیلی پایینه چون toolkit است ولی بجاش دستت خیلی بازه ولی در Spark چون یک Framework است سطح abstraction خیلی بالاتره و برای مصارف سطح بالا خیلی مناسبتره.
فکر کنم الان دیگه میشه اون مکمل بودنرو خوب توضیح داد. ما هر جا مباحث سطح پایین کلاسترینگ یا concurrency میخواستیم که دستمون باز باشه از Akka استفاده می کردیم و هر جا بحث کار روی داده یا Map Reduce یا Stream Proccesing بود از Spark.