Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Серия вебинаров по серверной разработке на Kotlin. Продолжение

JetBrainsKotlinКонференции

Мы продолжаем серию вебинаров о разработке серверных приложений на Kotlin (на английском языке). С 18 февраля по 18 марта пройдут четыре вебинара, на которых мы вместе с вами рассмотрим прикладную бэкенд-разработку на Kotlin в формате живых кодинг-сессий. Вебинары подойдут для Kotlin- и Java-разработчиков любого уровня подготовленности, в том числе для разработчиков мобильных приложений без опыта серверной разработки.

Спикеры из JetBrains, VMware, Confluent и Oracle расскажут о реактивном программировании, асинхронных приложениях на базе фреймворка Ktor, создании микросервисов с помощью Helidon и других аспектах применения Kotlin в серверной разработке:

Going Reactive With Spring WebFlux, Kotlin Coroutines, and RSocket, 18 февраля, 19:00 – 20:00 МСК

Building Microservices With Helidon and Kotlin, 10 марта, 19:00 – 20:00 МСК 

— Ktor From the Ground Up, 17 марта, 20:30 – 21:30 МСК 

Applied Event Streaming With Apache Kafka, Kotlin, and Ktor, 18 марта, 19:00 – 20:00 МСК 

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры1.9K
Комментарии 0

Доступны бесплатные уроки видеокурса по Apache Kafka

SouthbridgeВысокая производительностьСистемное администрированиеIT-инфраструктураApache


Мы открыли доступ к базовым темам курса по Apache Kafka.


В программе две теоретические темы «Введение» и «Базовые основы технологии» и практическая тема «Установка Kafka». В ней поработаем с технологией руками:


  1. Развернём Kafka в самом простом её варианте — с одним брокером и одной нодой ZooKeeper.
  2. Запишем и прочитаем сообщения, посмотрим в конфиги и увидим, как данные хранятся на диске.
Читать дальше →
Всего голосов 18: ↑15 и ↓3 +12
Просмотры6.4K
Комментарии 2

Продвинутый курс по Apache Kafka: 11 апреля старт группы с куратором

SouthbridgeВысокая производительностьСистемное администрированиеIT-инфраструктураApache


Начать освоение Apache Kafka на продвинутом уровне можно будет самостоятельно 7 апреля, а при желании учиться в группе – 11 апреля. Программа рассчитана на системных администраторов, DBA и архитекторов, работающих в проекте с системами передачи сообщений.

Вы научитесь работать с Apache Kafka в реальном времени. Узнаете, как грамотно настраивать распределённый отказоустойчивый кластер, отслеживать метрики и равномерно распределять нагрузку.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры1.2K
Комментарии 0

Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 3. Kafka

Высокая производительностьМессенджерыПрограммированиеJavaРаспределённые системы
Перевод
Продолжение перевода небольшой книги:
«Understanding Message Brokers»,
автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296.

Перевод выполнен: tele.gg/middle_java

Предыдущая часть: Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры31.4K
Комментарии 5

Эволюция веб-приложений

Разработка веб-сайтовРазработка мобильных приложений
Всем прикольно пообсуждать «всё новое хреновое», и последние пару лет мы увлечённо обсуждали и пробовали NoSQL/NewSQL на сервере и Angular/Knockout/Ember на клиенте. Но эти тренды, похоже, уже на излёте. Отличный момент, чтобы присесть и поразмыслить, что же дальше. Как сказал M. Andreessen, «software is eating the world». В то же время, mobile/web apps едят обычные приложения. Поэтому особенно интересно прикинуть, а куда же всё катится в мире мобильных и веб-приложений? Ведь они, получается, едят вообще всех. Я считаю, что следующей Большой Темой будет синхронизация данных, и вот почему.
синхронистки
Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Просмотры24.9K
Комментарии 8

Впечатления от посещения EuroPython 2014

Python
Одна из отличительных особенностей языка Python — это посвящённые этому языку конференции, так называемые PyConы. Не так давно мне удалось побывать на одном таком PyCon-е — EuroPython 2014. EuroPython — это одна из наиболее крупных европейских ежегодных конференций по языку Python, которая три последних года проводилась во Флоренции, а в 2014м — первый раз в Берлине. Пока свежи воспоминания решил написать небольшой отчётик — что и как было.
Читать дальше →
Всего голосов 32: ↑32 и ↓0 +32
Просмотры11.9K
Комментарии 2

Logbroker: сбор и поставка больших объемов данных в Яндексе

Яндекс
Привет! Меня зовут Алексей Озерицкий. В Яндексе я работаю в разработке технологий и инфраструктуры. Не только тем нашим сервисам, которыми пользуются миллионы людей, важно уметь работать с действительно большими объемами данных без сбоев. Один из наших ключевых внутренних инструментов — Я.Статистика, информация в котором предназначена только для сотрудников Яндекса и более того — является коммерческой тайной. Статистика занимается сбором, хранением и обработкой информации (в первую очередь логов) от сервисов Яндекса. Результатом нашей работы с ней являются статистические расчеты для дальнейшей аналитики и принятия продуктовых решений.

Один из ключевых компонентов Статистики – Logbroker, распределенное многодатацентровое решение по сбору и поставке данных. Ключевые особенности системы – возможность переживать отключение дата-центра, поддержка семантики exactly once на доставку сообщений и поддержка потоков реального времени (секунды задержки от возникновения события на источнике до получения на приемнике).

В ядре системы лежит Apache Kafka. Logbroker с помощью API изолирует пользователя от сырых потоков Apache Kafka, реализует процессы восстановления после сбоев (в том числе семантику exactly once) и сервисные процессы (междатацентровая репликация, раздача данных на кластеры расчета: YT, YaMR...).
Читать дальше →
Всего голосов 61: ↑56 и ↓5 +51
Просмотры45.8K
Комментарии 20

«Разрывая ETL барьеры с помощью Spark Streaming» от Concur. Отчет о встрече

Анализ и проектирование системBig Data
Из песочницы
Посетил сегодня встечу на тему «Breaking ETL barrier with Spark Streaming and Real Time Txn Volume Forecasting» и решил записать путевые заметки. Заметки получились немного циничные, но, надеюсь, интересные.



Встреча была организована компанией Concur, которая в основном работает на корпоративных клиентов, предоставляя им набор финансово-«туристических» услуг. Материл был интересный, уровень — легкий, обзор будет короткий.

Вкратце, смысл в том, чтобы заменить ETL на такое же примерно количество процессов, которые читают транзакционные логи и посылают их через Kafka в Spark Streaming, где они могут быть «лучше обработаны и проанализированны», и дальше сложены в OLAP (как и раньше). То есть это, по сути ETL, но real time, а не пакетный, и более программируемый.
Подробности
Всего голосов 13: ↑12 и ↓1 +11
Просмотры8.7K
Комментарии 5

Как Spotify масштабирует Apache Storm

CloudMTSРазработка веб-сайтовАнализ и проектирование системРазработка мобильных приложенийРазработка под e-commerce
Spotify — шведский сервис потокового воспроизведения музыки с которым сотрудничают такие компании как Sony, EMI, Warner, и Universal. Сервис Spotify был запущен в октябре 2008 года, сейчас он предоставляет более 30 млн композиций. Многие считают его попыткой повторить успех Napster и легализовать его модель. Шведам все это удалось едва ли не лучше всех в мире.

Сам сервис работает следующим образом (общее описание): алгоритм анализирует плейлисты пользователей с учетом точечной классификации по жанрам и сравнивает полученные «профили предпочтений» с миллионами других плейлистов. В результате — вы получаете песни, которые подходят вашим вкусам и не воспроизводились ранее.


/ фото Sunil Soundarapandian CC
Читать дальше →
Всего голосов 21: ↑16 и ↓5 +11
Просмотры10.6K
Комментарии 3

Apache Spark или возвращение блудного пользователя

TargetixРазработка веб-сайтовBig Data
Продолжаем цикл статей про DMP и технологический стек компании Targetix.

На это раз речь пойдет о применении в нашей практике Apache Spark и инструментe, позволяющем создавать ремаркетинговые аудитории.

Именно благодаря этому инструменту, однажды посмотрев лобзик, вы будете видеть его во всех уголках интернета до конца своей жизни.
Здесь мы и набили первые шишки в обращении с Apache Spark.

Архитектура и Spark-код под катом.


Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры11.6K
Комментарии 30

Badoo открывает исходные коды Live Streaming Daemon

BadooРазработка веб-сайтовПрограммированиеGoРазработка под Linux


Для того чтобы мы могли считать статистику, наш сайт в своей работе генерирует огромное количество событий. Например, при отправке сообщения другому пользователю, при заходе пользователя на сайт, при смене местоположения и т.д. События представляют из себя строку в формате JSON или GPB (Google Protocol Buffers) и содержат время отправки, идентификатор пользователя, тип события, а также поля, относящиеся непосредственно к самому событию (например, координаты пользователя).

Каждую секунду генерируются сотни тысяч событий, и нам нужны инструменты, чтобы их собирать и анализировать эффективно и с минимальной задержкой. Мы рассматривали несколько существующих решений для этой задачи и до недавнего времени использовали демон под названием Scribe от Facebook. Он в целом нас устраивал и позволял делать все, что нам нужно. Однако в какой-то момент Facebook забросил свою разработку, и при некоторых условиях Scribe начал у нас падать (например, при перегрузке upstream-серверов). Самостоятельно устранить причину падений демона у нас не получилось, поэтому мы начали искать альтернативу.
Читать дальше →
Всего голосов 54: ↑49 и ↓5 +44
Просмотры14.8K
Комментарии 33

Spotify: миграция подсистемы событий в Google Cloud (часть 1)

Google DevelopersВысокая производительностьМессенджерыGoogle Cloud Platform
Перевод
Всякий раз, когда пользователь выполняет действие в клиенте Spotify – такое как, например, прослушивание песни или поиск исполнителя – небольшое количество информации, событие, отправляется на наши сервера. Доставка событий, процесс безопасной и надежной транспортировки информации от клиентов по всему миру к нашей центральной системе обработки, — интересная задача. В серии этих статей мы рассмотрим некоторые решения, которые реализовали в этой области. Если быть более точными, то мы рассмотрим архитектуру нашей новой системы доставки событий и расскажем, почему решили развернуть ее в Google Cloud.

В этой первой статье мы объясним то, как работает наша текущая система доставки событий и расскажем о некоторых уроках, которые извлекли в ходе работы с ней. В следующей – рассмотрим создание новой системы и то, почему мы выбрали Cloud Pub/Sub в качестве транспортного механизма для всех событий. В третьей, и последней, статье мы объясним, как работаем со всеми событиями с помощью DataFlow, и насколько быстро все это происходит.

image
Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Просмотры5.1K
Комментарии 0

Spotify: миграция подсистемы событий в Google Cloud (часть 2)

Google DevelopersВысокая производительностьМессенджерыGoogle Cloud Platform
Перевод
В первой статье мы говорили о том, как работала старая система доставки сообщений и тех уроках, которые мы вынесли из ее работы. Во этой (второй) статье мы расскажем об архитектуре новой системы и том, почему мы выбрали Google Cloud Pub/Sub в качестве транспортного механизма для всех событий.

image
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры5.9K
Комментарии 1

Spotify: миграция подсистемы событий в Google Cloud (часть 3)

Google DevelopersВысокая производительностьМессенджерыGoogle Cloud Platform
Перевод
В первой статье этой серии мы говорили о том, как работает старая система доставки сообщений и некоторых выводах, которые мы сделали по итогам ее работы. Во второй мы рассмотрели конструкцию новой системы и то, почему мы выбрали Cloud Pub/Sub в качестве транспортного механизма для всех событий. В этой третьей и последней статье мы объясним, как мы намереваемся работать со всеми опубликованными событиями при помощи Dataflow, и что мы узнали о таком подходе.

image
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры2.1K
Комментарии 0

Frontera: архитектура фреймворка для обхода веба и текущие проблемы

Высокая производительностьАнализ и проектирование системBig Data
Из песочницы
Всем привет, я занимаюсь разработкой Frontera, первым в истории фреймворком для масштабного обхода интернета сделанным на Python-е, с открытым исходным кодом. С помощью Фронтеры можно легко сделать робота который сможет выкачивать контент со скоростью тысяч страниц в секунду, при этом следуя вашей стратегии обхода и используя обычную реляционную БД или KV-хранилище для хранения базы ссылок и очереди.

Разработка Фронтеры финансируется компанией Scrapinghub Ltd., имеет полностью открытый исходный код (находится на GitHub, BSD 3-clause лицензия) и модульную архитектуру. Мы стараемся чтобы и процесс разработки тоже был максимально прозрачным и открытым.

В этой статье я собираюсь рассказать о проблемах с которыми мы столкнулись при разработке Фронтеры и эксплуатации роботов на ее основе.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры6.1K
Комментарии 34

Вероятность потери данных в больших кластерах

IT-инфраструктураСерверное администрированиеАдминистрирование баз данныхХранение данныхХранилища данных
Перевод
В этой статье используется MathJax для рендеринга математических формул. Нужно включить JavaScript, чтобы MathJax заработал.

Многие распределённые системы хранения (в том числе Cassandra, Riak, HDFS, MongoDB, Kafka, …) используют репликацию для сохранности данных. Их обычно разворачивают в конфигурации «просто пачка дисков» (Just a bunch of disks, JBOD) — вот так, без всякого RAID для обработки сбоев. Если один из дисков в ноде отказывает, то данные этого диска просто теряются. Чтобы предотвратить безвозвратную потерю данных, СУБД хранит копию (реплику) данных где-то на дисках в другой ноде.

Самым распространённым фактором репликации является 3 — это значит, что база данных хранит три копии каждого фрагмента данных на разных дисках, подключенных к трём разным компьютерам. Объяснение этому примерно такое: диски выходят из строя редко. Если диск вышел из строя, то есть время заменить его, и в это время у вас ещё две копии, с которых можно восстановить данные на новый диск. Риск выхода из строя второго диска, пока вы восстанавливаете первый, достаточно низок, а вероятность смерти всех трёх дисков одновременно настолько мала, что более вероятно погибнуть от попадания астероида.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры8.7K
Комментарии 14

Выбор MQ для высоконагруженного проекта

Высокая производительностьМессенджерыПрограммированиеПроектирование и рефакторингAPI
Современные масштабируемые системы состоят из микросервисов, каждый из которых отвечает за свою ограниченную задачу. Такая архитектура позволяет не допускать чрезмерного разрастания исходного кода и контролировать технический долг.

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

Если микросервис перестает отвечать на запросы в результате аварии, его клиенты должны быть мгновенно перенаправлены на резервный. Для управления потоком запросов часто используют так называемые очереди сообщений (message queues).

Недавно используемая нами очередь перестала нас устраивать по параметрам отказоустойчивости и мы заменили ее. Ниже мы делимся нашим опытом выбора.
Читать дальше →
Всего голосов 46: ↑38 и ↓8 +30
Просмотры133.1K
Комментарии 54

Реактивная обработка стрима логов с RxJava — Часть 1

Java
Из песочницы

Reactive log stream processing with RxJava — Part l


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


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

Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры6.8K
Комментарии 0

Apache Spark как ядро проекта. Часть 2. Streaming, и на что мы напоролись

Big DataHadoop
Привет коллеги. Да, не прошло и три года с первой статьи, но проектная пучина отпустила только сейчас. Хочу с вами поделиться своими соображениями и проблемами касательно Spark streaming в связке с Kafka. Возможно среди вас есть люди с успешным опытом, поэтому буду рад пообщаться в комментариях.

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры8.5K
Комментарии 9

Доставка миллиардов сообщений строго один раз

Высокая производительностьМессенджерыАнализ и проектирование системAPIРазработка систем связи
Перевод
Единственное требование ко всем системам передачи данных состоит в том, что нельзя потерять данные. Данные обычно могут поступить с опозданием или их можно запросить заново, но их никогда нельзя терять.

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

Но как пользователю по крайней мере однократная доставка — это не совсем то, что я хочу. Я хочу, чтобы сообщения доставлялись один раз. И только один раз.
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Просмотры19.3K
Комментарии 16