2012-03-31 00:08:54
Storm является распределенной системой для выполнения вычислений в реальном времени. Она родилась в ...
+ развернуть текстсохранённая копия
Storm является распределенной системой для выполнения вычислений в реальном времени. Она родилась в рамках проекта Backtype, который специализировался на аналитике твитов и который в июле 2011 был приобретен Twitter. Так же как Apache Hadoop предоставляет набор базовых абстракций, инструментов и механизмов для пакетной обработки данных, Twitter Storm делает это для задачи обработки данных в режиме [...]
2012-03-31 00:08:54
Storm является распределенной системой для выполнения вычислений в реальном времени. Она родилась в ...
+ развернуть текстсохранённая копия
Storm является распределенной системой для выполнения вычислений в реальном времени. Она родилась в рамках проекта Backtype, который специализировался на аналитике твитов и который в июле 2011 был приобретен Twitter. Так же как Apache Hadoop предоставляет набор базовых абстракций, инструментов и механизмов для пакетной обработки данных, Twitter Storm делает это для задачи обработки данных в режиме [...]
В продуктовой разработке используются согласованные внутри команды паттерны. Это не только известные паттерны проектирования, но и, например, паттерны обработки ошибок внутри системы, форматы запросов и ответов в межсистемном взаимодействии и прочее. Так же при индивидуальной разработке не все повторяющиеся по логике и структуре куски можно завернуть в методы, что тоже не способствует читабельности и простоте кода.
С ростом количества систем и их размеров при малейшем изменении паттернов приходится рефакторить кучу мест для приведения кода к заданному шаблону.
После исследования альтернативных языков на jvm мы остановились на clojure. Вот небольшой пример реализации паттерна обратотки ошибки на нем.
Допустим, мы оформляем обработку ошибок в джаве следующим образом:
Сэм Арон (Sam Aaron), один из разработчиков Overtone, выложил впечатляющее видео, как он синтезирует мелодии в редакторе Emacs, используя различные приёмы — триггеры инструментов, назначение будущих событий и проектирование сэмплов — на языке Clojure. Музыка звучит сразу после написания строчки кода (live coding).
2011-09-20 17:54:56
Как и обещалось, Twitter выложил на github распределённую систему обработки данных в реальном ...
+ развернуть текстсохранённая копия
Как и обещалось, Twitter выложил на github распределённую систему обработки данных в реальном времени Storm (от компании BackType). Теперь это проект open source.
В пояснительной записке автор проекта Натан Марц объясняет, что за последнее десятилетие такие технологии как MapReduce, Hadoop и проч. произвели настоящую революцию в области обработки больших объёмов данных. К сожалению, они никак не предназначены для работы realtime. Storm предалагет альтернативное решение. Фактически, Storm можно назвать «Hadoop в реальном времени», здесь реализована такая же схема с набором базовых примитивов. Это чрезвычайно надёжная и масштабируемая система с поддержкой любых языков программирования, устанавливается одной строчкой на Amazon EC2.