Эта статья написана "Передовая линия ИИ"Оригинал, оригинальная ссылка:Почему стоит выбрать Apache Pulsar: изоляция ввода-вывода
Маттео Мерли и Картик Рамасами
Переводчик|Сюэ Миндэн
Редактор | Эмили
Руководство по передовой ИИ:”Это вторая статья из серии, посвященной ключевым функциям Apache Pulsar. Pulsar — это система обмена сообщениями публикации и подписки следующего поколения, разработанная Yahoo с открытым исходным кодом. в первой статье«Почему стоит выбрать Apache Pulsar»Здесь мы представили гибкую поддержку Pulsar для моделей сообщений, мультиарендности, мультирегиональной репликации и постоянства. В этой статье мы продолжим знакомить вас с механизмом изоляции ввода-вывода Pulsar, масштабируемостью, моделью безопасности, многоязычным API и простотой эксплуатации. "
Чтение и запись изоляции ввода-вывода
В большинстве систем обмена сообщениями задержки скорости у потребителей могут привести к снижению производительности. Потребители той же темы, если у одного из них есть задержка по скорости, это повлияет на других более быстрых потребителей. Это связано с тем, что медленные потребители заставляют систему обмена сообщениями извлекать данные из хранилища, что приводит к джиттеру ввода-вывода и снижению пропускной способности. Затрагиваются потребители, которым необходимо сначала загрузить данные в память. Основная причина этой проблемы заключается в том, что операции чтения и записи используют один и тот же путь выполнения.
Pulsar решает эту проблему, используя BookKeeper в качестве системы хранения. С помощью BookKeeper компания Pulsar может предоставлять различные пути выполнения операций чтения и записи для обеспечения изоляции операций ввода-вывода. Обычные операции чтения обрабатываются непосредственно брокером Pulsar, операции записи используют журнал упреждающей записи (WAL) BookKeeper, а операции догоняющего чтения используют серверные устройства хранения BookKeeper.
Для публикации сообщений в системе важно обеспечить контролируемую и предсказуемую задержку при любых обстоятельствах. С изоляцией ввода-вывода, даже когда диск выполняет интенсивные операции чтения, он по-прежнему может гарантировать, что задержка публикации сообщений будет очень низкой и предсказуемой.
Масштабируемость
Масштабируемость системы обмена сообщениями также важна. Масштабируемость системы обмена сообщениями публикации-подписки можно измерить по следующим параметрам:
высокая пропускная способность- Высокая пропускная способность Pulsar достигается за счет максимального использования пропускной способности диска (IOPS). Пропускная способность зависит от размера сообщения, например, если размер сообщения составляет 1 КБ, то Pulsar может достичь пропускной способности 120 МБ в секунду. Но если сообщение маленькое, скажем, всего 10 байт, то пропускная способность может составлять всего 1,8 Мб/с. Оба результата основаны на том, что один издатель пишет сообщения в раздел темы с задержкой записи 99 % в пределах 5 мс.
Количество тем- Тематическая масштабируемость — это способность системы обмена сообщениями публикации и подписки поддерживать большое количество тем. Pulsar может поддерживать масштабирование от сотен до миллионов тем, сохраняя при этом хорошую производительность. Масштабируемость темы зависит от того, как организованы и хранятся данные. Если данные темы хранятся в отдельном файле или каталоге, это повлияет на масштабируемость, поскольку дисковые операции ввода-вывода распределены, и эти файлы периодически сбрасываются из кэша страниц на диск. Однако данные Pulsar хранятся на букмекерской конторе (сервере BookKeeper), а сообщения из разных тем объединяются, сортируются, сохраняются в большие файлы и индексируются. Таким образом, Pulsar может поддерживать большое количество тем.
Безопасность
Pulsar поддерживает подключаемые механизмы аутентификации, которые могут быть реализованы с использованием нескольких реализаций аутентификации. Целью сертификации является установление личности клиента и назначение маркера роли для клиента. Этот токен используется для определения того, какие операции можно выполнять. PULSAR предоставляет две реализации аутентификации по умолчанию: аутентификация клиента TLS и ATHENZ (система аутентификации на основе ролей, разработанная Yahoo).
Многоязычный API
Приложения могут взаимодействовать с Pulsar с помощью различных языков программирования. Pulsar предоставляет официальные клиенты для трех основных языков: C++, Java и Python. Пользователи могут выбрать клиента в соответствии с реальными потребностями. Эти клиентские API интуитивно понятны и совместимы между языками. Кроме того, официальный клиент Pulsar также обеспечивает как синхронные, так и асинхронные операции чтения и записи для различных стилей приложений. Синхронная и асинхронная семантика одинакова: либо блокировать метод, ожидающий завершения операции, либо возвращать объект Future, чтобы отслеживать, завершена ли операция.
Операционная зрелость
Pulsar прост в управлении, и вы можете увеличить емкость, добавляя новые узлы-брокеры и узлы хранения во время работы системы. Если узел хранения выйдет из строя, фоновый процесс автоматически скопирует данные, содержащиеся в неработающем узле, из доступных копий на других узлах в доступные узлы хранения. Pulsar предоставляет несколько способов управления кластером, используя инструменты командной строки, библиотеки Java или API REST. Последние обеспечивают большую гибкость, и вы можете разрабатывать на их основе собственные инструменты управления или комбинировать их с существующими инструментами.
Предприятие
Yahoo разработала Pulsar для решения некоторых проблем и сценариев существующих систем обмена сообщениями с открытым исходным кодом. Он удовлетворяет потребность в высокой пропускной способности (обработка сотен миллиардов сообщений), надежных гарантиях надежности и низкой задержке. Pulsar работает в Yahoo уже три года, поддерживает 1,4 миллиона тем, имеет 99% задержку менее 5 мс, развернут в более чем 10 центрах обработки данных (включена полносвязная репликация) и обработал более 100 триллионов сообщений.
Суммировать
Pulsar — это система обмена сообщениями публикации и подписки следующего поколения, которая дополняет другие системы обмена сообщениями с открытым исходным кодом. В этих двух статьях мы представили различные ключевые функции Pulsar и объяснили, как Pulsar обеспечивает изоляцию операций ввода-вывода с помощью брокеров и букмекеров, а также как он поддерживает функции уровня предприятия, такие как постоянство, мультиарендность и мультирегиональная репликация. высокая пропускная способность и масштабирование темы.
Посмотреть исходный английский текст:поток class.IO/blog/why-AP…
Для большего содержания сухих товаров вы можете обратить внимание на AI Frontline, ID:ai-front, фоновый ответ "AI", "TF", "Большие данные«Вы можете получить серию мини-книг в формате PDF и карт навыков «AI Frontline».