- Оригинальный адрес:Data Streaming
- Оригинальный автор:jenkov.com
- Перевод с:Программа перевода самородков
- Постоянная ссылка на эту статью:GitHub.com/rare earth/gold-no…
- Переводчик:Starrier
- Корректор:DeadLion, kezhenxu94
поток данных
- поток данных
поток данныхЭто технология распределения данных, при которой производители данных записывают записи данных в упорядоченный поток данных, из которого потребители данных могут считывать данные в том же порядке. Вот простая диаграмма потока данных, иллюстрирующая производителей данных, потоки данных и потребителей данных:
Потоки данных могут иметь много переменных
На «поверхности» поток данных — очень простая концепция. Производители данных хранят записи в потоке данных, из которого потребители могут позже прочитать. Однако, просматривая эту поверхность, мы можем увидеть, что есть еще некоторые детали, влияющие на «внешний вид» системы потока данных, что, в свою очередь, влияет на ее поведение и действия, которые вы можете выполнять.
Каждый продукт потока данных делает определенные предположения (для технической поддержки) о вариантах использования и методах обработки. Эти предположения приводят к определенным вариантам проектирования, которые в конечном итоге влияют на тип поведения обработки потока данных, который вы можете использовать для реализации. В этом учебном пособии по потоку данных будет рассмотрено, какие варианты дизайна были сделаны, и обсуждено их влияние на продукт пользователя на основе этих вариантов дизайна.
Поток данных может разделить производителей и потребителей
Поток данных отделяет производителей данных и потребителей данных друг от друга. Когда производитель данных просто записывает свои данные в поток данных, ему не нужно знать о потребителях, которые считывают данные. Потребителей можно добавлять и удалять независимо от производителей. Потребители могут начинать/останавливать или приостанавливать и возобновлять потребление без ведома производителя. Такое разделение упрощает реализацию производителей и потребителей данных.
Поток данных как механизм обмена данными
Потоки данных — очень полезный механизм для хранения и обмена данными в больших распределенных системах. Как упоминалось ранее, производители данных просто отправляют данные в систему потоков данных. Производителю не нужно ничего знать о потребителе. Потребители могут подключаться к сети, офлайн, добавлять или удалять себя, не затрагивая производителей.
Крупные компании, такие как LinkedIn, широко используют внутренние потоки данных. Uber также использует потоки данных внутри компании. Многие компании корпоративного уровня внедряют или внедрили внутренний поток данных. То же самое верно для многих стартапов.
постоянный поток данных
Поток данных может быть сохранен, в этом случае он называетсяlogилиjournal. Преимущество постоянных потоков данных заключается в том, что данные в потоке данных могут «выживать» после закрытия службы потока данных, поэтому записи данных не теряются.
Постоянные потоковые службы обычно могут хранить больше исторических данных, чем потоковые службы, которые хранят записи в памяти. Некоторые потоки данных содержат исторические данные, даже начиная с первой записи, записанной в поток данных. Некоторые сохраняют только часть исторических данных.
С постоянным потоком данных, сохраняющим полную историю, потребители могут многократно обрабатывать все записи, по которым можно реконструировать их внутреннее состояние. Если потребитель находит ошибку в собственном коде, он может исправить код и воспроизвести поток данных для перестройки внутренней базы данных.
Пример использования потока данных
Поток данных — это очень общая концепция, которую можно использовать для поддержки множества различных вариантов использования. В этом разделе я расскажу о некоторых наиболее распространенных случаях использования потоков данных.
Поток данных для архитектур, управляемых событиями
Поток данных часто используется длясобытийно-ориентированная архитектура. События записываются производителями событий в виде записей в некоторую систему потоковой передачи данных, откуда их могут считывать потребители событий.
Потоковая передача данных для умных городов и Интернета вещей
Потоки данных также могут применяться для передачи вумный городокружающие данные датчика дляумная фабрикавнутреннего датчика или от другогоИнтернет вещейПотоковые данные с датчиков устройства. Такие значения, как температура, уровень загрязнения и т. д., можно периодически снимать с устройства и записывать в поток данных. Потребители данных могут считывать выборки из потока данных, когда это необходимо.
Потоки данных для регулярной выборки данных
Датчики и IoT-устройства в «умных» городах — это лишь два примера источников данных, которые можно регулярно собирать и делать доступными через потоки данных. Существует множество других типов данных, которые можно периодически отбирать и делать доступными в виде потока. Например, обменные курсы валют или курсы акций также могут быть выбраны и переданы в потоковом режиме. Ценности мнений также можно периодически сэмплировать и передавать в потоковом режиме.
Поток данных для точек данных
В случае рейтингов опросов вы можете решить, к какому потоку опросов будет относиться каждый отдельный ответ, вместо того, чтобы переходить к регулярно выбираемому итогу. Составление итогов из отдельных точек данных (например, голосов) иногда может иметь больше смысла, чем подсчет итогов. Это зависит от конкретного варианта использования и других факторов, например от того, являются ли отдельные точки данных анонимными или содержат личную информацию, которой нельзя делиться.
Записи, сообщения, события, образцы и т. д.
Записи потока данных иногда называют сообщениями, событиями, образцами и другими терминами. Какой термин использовать, зависит от конкретного варианта использования потока данных, а также от того, как данные обрабатываются и реагируют на них со стороны производителей и потребителей. Обычно конкретное значение справочной записи варианта использования может быть ясно известно из варианта использования.
Стоит отметить, что варианты использования также влияют на то, что представляет данная запись. Не все записи данных одинаковы. События — это не то же самое, что абстрактные значения, и их не всегда можно использовать одинаково. Я расскажу об этом более подробно в этом руководстве (и/или других руководствах).
Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.
Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллекти другие поля, если вы хотите видеть больше качественных переводов, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.