HeadlinesBriefing HeadlinesBriefing.com

Cloudflare K2: бессерверные потоки событий

Hacker News •
×

В традиционных архитектурах удаленного вызова процедур (RPC) существует основная проблема: производители и потребители должны быть согласованы по масштабу и времени. Если ваши производители отправляют слишком много данных для обработки вашими потребителями или если ваши потребители или нижестоящие службы становятся недоступными, события теряются. Эта проблема усугубляется наличием нескольких потребителей, которым необходимо независимо обрабатывать данные. Например, серверная часть электронной коммерции может генерировать события при завершении транзакций, которые должны быть прочитаны аналитической системой и службой обнаружения мошенничества. Мы можем решить эту проблему, развязав наших производителей и потребителей — вставив службу посередине, которая поглощает записи, позволяя независимым читателям потреблять в своем собственном темпе.

Сегодня мы запускаем Cloudflare K2 в публичной бета-версии для решения этой проблемы. K2 — это долговечный примитив потоковой передачи событий на платформе разработчика. Вы отправляете события в поток K2, который сохраняет их в виде упорядоченного журнала. Потребители могут читать их различными способами, например, распределяя чтение по набору потребителей или доставляя все сообщения всем потребителям. Он полностью бессерверный, масштабируется до огромных объемов данных и поддерживает долгосрочное хранение, так что даже длительные периоды простоя потребителя не приводят к потере данных.

Под капотом K2 реализует секционированный долговечный журнал поверх объектного хранилища R2, что позволяет ему масштабироваться до огромных объемов хранилища. Если вы готовы начать, вы можете создать свой первый поток за считанные секунды, следуя руководству здесь. Мы сначала создали K2, потому что нам нужен был долговечный буфер на границе, изначально для serving в качестве уровня приема для Basin Pipelines. Наша уникальная архитектура означает, что мы часто не можем запускать традиционное программное обеспечение распределенных систем, такое как Apache Kafka, и нам нужно переосмыслить, как эти системы создаются и эксплуатируются.

При проектировании долговечной системы буферизации, которая стала K2, мы решили положиться на мощный примитив состояния, который у нас уже есть: R2. Системы объектного хранения, такие как R2, сочетают чрезвычайно долговечное хранение (11 девяток!) с строго согласованными API. Вторичным преимуществом является то, что он разделяет вычисления и хранение, что означает, что каждый из них может масштабироваться независимо. Это позволяет нам хранить огромные объемы исторических данных с низкой стоимостью.

Источник: Hacker News · Сводку подготовил HeadlinesBriefing