Как стать автором
Обновить

Комментарии 8

Для заскучавших Java разработчиков предлагается попробовать:
фреймворк из мира Scala,
потом ещё один фреймворк из мира Scala,
затем брокер из мира Scala,
несколько баз данных, на удивление не связанных со Scala,
и в конце саму Scala.
Скучно с таким набором точно не будет.

Я бы не сказала, что Spark и Kafka из мира Scala. То есть да, Spark, конечно, больше адаптирован под скалу, и примеров кода на Scala гораздо больше. Но это не означает, что на Java его применять не нужно. Я с его помощью написала полноценное приложение и осталась очень довольна, знание скалы мне не понадобилось.


Kafka я использовала именно в Java-приложении и никакой связи со скалой в процессе поиска и настройки я не замечала. Видимо, я чего-то не знаю, поделитесь, пожалуйста, почему это брокер из мира Scala?


А вот насчет Akka я соглашусь, на Java ее используют скорее в специфических случаях, а на Scala это достаточно распространенный подход. Но опять же, я слышала об успешных примерах использования этой технологии и в Java приложениях.


Мне кажется, языки и технологии уже так сильно пересекаются друг с другом, что выделить отдельный "мир Scala" или "мир Java" достаточно проблематично. Почему бы не изучить хорошие идеи из других языков, если они вполне применимы и в выбранном вами языке? [риторический вопрос]

Kafka к миру Scala тут притянут за уши исключительно потому, что по большей части брокер написан на Scala. Что правда не играет существенной роли при наличии хорошего клиента для целевого языка программирования (тот же RabbitMQ вообще на Erlang написан, но имеет прекрасного клиента под Java), но может преподнести сюрприз, когда для анализа проблемы возникнет необходимость залезть внутрь брокера.
Не смотря на то что Scala и Java сильно пересекаются друг с другом, всё равно видна чёткая граница между этими мирами при попытке объединения их в одном проекте.

Да, в одном проекте действительно граница будет заметна. Но с другой стороны, многие проекты написаны на Java и Scala (та же Kafka, Apache Flink, Apache Mahout) и судя по всему Java там используется не только для обеспечения совместимости.


Вообще интересно получилось, что большая часть выбранного мной так или иначе связана со скалой, я даже не заметила.


В любом случае, смысл был скорее не в инструментах, а в задачах, которые можно с их помощью решить (то есть машинное обучение, работа с большими данными, потоки данных, хранение без жесткой структуры). Тут уже можно выбрать, что больше нравится, для этого и привела в статье похожие проекты.

Насколько я знаю, полноценных клиентов для Kafka не из Java-мира (Scala, Kotlin,… — для меня часть Java-мира) сейчас нет.

librdkafka — C/C++ клиент Kafka, вполне себе полноценный.

Нет. О Stream API, как минимум, он ничего не знает. Точнее, из ридми providing Producer, Consumer and Admin clients.


А єто означает, насколько я понимаю, что exactly once гарантий не получить

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации