------------------------ part 1 --------------------- schema evolution 1: avro - в сообщении содержится схема данных. предоставляет API для сериализации данных соответственно схеме и десериализации по схеме. exactly once processing: тут проблема в том что нет контроля над тем какой partition будет назначен. есть две стратегии: range: round robin: rebalance listener: случай когда consumer group coordinator запустил rebalance и consumer, обработавший часть сообщений хочет commit offset. чтобы это сделать надо знать: how to commit a particular offset? how to know that a rebalance is triggered? ConsumerRebalanceListener onPartitionsRevoked - будет вызван перед переключением partition. onPartitionsAssigned - будет вызвано после назначения partition и перед передачей сообщений. offset management: current offset: kafka broker у себя хранит указатель на на отправленные сообщения клонкретному consumer. maintain offset from which send next banch of mess
main link исходник "Я считаю, что лидерство в Гугле имеет причиной интуитивное понимание человеческой природы, и того, что внимание это ограниченный ресурс." - Дэвид Рок. видео по материалу Когда дело доходит до создания позитивной организационной культуры, маленькие вещи могут значить больше чем мы себе представляем. Этот разговор резюмирует книгу Дэвида Рока: "Ваш мозг за работой: Стратегии для преодоления отвлекающих моментов, восстановления концентрации, и продуктивной работы весь день." Дэвид посетил встречу лидеров Гугла для нескольких интересных открытий: Некоторые из них более изворотливые идеи, которые были иногда обсмеены в масмедиа, на самом деле основаны на науке. Вот что я пришел рассказать во время моего тура по зданию Гугла. Гугл также организует свою работу вокруг уменьшения количества принимаемых решений. В Гугле все устроено так, чтобы вам приходилось принимать как можно меньше решений в отношении цен, деятельности, еды и д
оригинал http://www.sitepoint.com/tracking-upload-progress-with-php-and-javascript/ Проблема, которая долгое время умчила веб-разработчиков это отслеживание в реальном времени их приложения, в частности процесса загрузки фалов. Пользователи нетерпеливы; они не хотят сидеть и ждать пока браузер что-то сделает и гадать не зависло ли это или у них медленное соединение. Предоставляя индикатор загрузки вы предоставляете пользователям информацию и доете им знать что происходит на самом деле. На первый взгляд, ты можешь предположить что это можно легко реализовать просто получив размер файла с компьютера пользователя и произвести некоторые простые вычисления над директорией на сервере куда загружается файл. На второй взгляд, ты найдешь вещи, которые не являются такими простыми. JavaScript может получить имя файла, тип, и даже ширину и высоту локального изображения, но этого не было до HTML5, который позволяет получить размер файла . К сожалению, HTML5 это еще не завершенный стандар
Комментарии
Отправить комментарий