Англійська для Apache Pulsar Messaging

Learn the English vocabulary for Apache Pulsar: topics, subscriptions, tiered storage, and multi-tenancy.

Обговорення Pulsar часто потрібно прояснити одну відмінність на початку: на відміну від деяких систем обміну повідомленнями, одна тема в Pulsar може підтримувати кілька незалежних шаблонів підписки одночасно, тому «хто споживає це і як» рідко є однією відповіддю.

Ключовий словник

** Тип підписки (ексклюзивна, спільна, відключення, спільний ключ) ** — режим, який визначає, яким чином повідомлення з теми буде розподілено між користувачами, приєднаними до підписки.

  • “Ми змінили цю підписку з спільної на спільну з ключем, оскільки нам потрібно, щоб всі повідомлення з одним ідентифікатором замовлення потрапляли до одного користувача, у порядку.” *

Tiered storage — здатність Pulsar автоматично переносити старі сегменти повідомлень з локального диска на дешевше, довгострокове об’єктне зберігання, без необхідності для споживачів знати, де фізично знаходяться дані. “Ми не потребуємо окремого архівного конвеєра — рівневе зберігання автоматично пересуває старі сегменти на об’ єктне зберігання, як тільки вони виходять з верхнього рівня.”

** Тенер / простір імен ** — вбудована у Pulsar модель багатого користування, де користувач містить простори імен, а простори імен містять теми, що дозволяє багатьом командам спільно використовувати один кластер з ізольованими налаштуваннями і квотами.

  • “Замість того, щоб створювати окремий кластер для кожної команди, ми надали кожній з них власного користувача, з власними правилами зберігання і квоти, налаштованими на рівні простору імен.” *

** BookKeeper (bookie) ** — основний рівень розподіленого зберігання журналів, у який записуються брокери Pulsar, відповідальний за тривалість і реплікацію, відокремлений від брокерів, які обробляють з’ єднання клієнтів. “Самі брокери були в порядку — фактичний пік затримки запису був викликаний повільним букмекером у кластері BookKeeper.”

** Затримка ** — накопичений набір непідтверджених повідомлень, які очікують на використання підписки, ключова метрика для виявлення споживача, який відстає від інших. “Попередження стосувалося зовсім не виробника - це було затримка на одній підписці, що постійно зростала, що означало, що група споживачів застопорилась.”

Звичайні фрази

  • Який тип підписки дійсно потрібний цій групі споживачів — спільний або ключовий для замовлення гарантій?
  • Чи є ці дані все ще на локальному диску, або вони вже перенесені на ступеневе зберігання?»
  • Чи має це бути власним рентієром, чи може воно ділитися простором імен з існуючими темами команди?»
  • Чи є це проблемою брокера, чи є справжнє вузьке місце в BookKeeper?
  • Чи зростає затримка, тому що споживач повільний, або тому, що він фактично припинив обробку?»

Приклади висловлювань

Пояснення вибору підписки у перегляді:

  • “Ми потребуємо замовлення за ключами для цих подій, отже, спільний ключ — це правильний тип підписки, а не просто спільний.” *

Опис оптимізації витрат:

  • “Ми увімкнули ступеневе зберігання у цьому просторі імен, тому дані, які накопичилися за кілька місяців, автоматично переносяться на об’ єктне зберігання, замість того, щоб поглинатися дорогим локальним диском.” *

Діагностика проблеми з затримкою:

  • “Брокери повідомили про здоров’ я, тому ми перевірили BookKeeper безпосередньо і знайшли одного букмекера з погіршеними вхідними/вихідними даними диска, що знижує затримку запису.” *

Професійні поради

  • Назвіть точний тип підписки, коли обговорюєте порядок або розповсюдження повідомлень — « користувачі не отримують повідомлення в порядку » майже завжди веде до неправильного режиму підписки.
  • Згадайте ** ступеневе зберігання ** явно при обговоренні витрат на зберігання - це змінює розмову про вартість з “як довго ми можемо дозволити собі зберігати це” на “скільки дисків з гарячим ступенем нам насправді потрібно”
  • Використовуйте межі ** tenant ** і ** namespace ** навмисно під час створення нової команди — це механізм для ізоляції квот і налаштувань, а не просто організаційна мітка.
  • Відокремити broker і BookKeeper явно під час діагностики затримки — це різні шари з різними режимами невдач.

Практичні вправи

  1. Поясніть різницю між спільною підпискою і підпискою з спільним ключем.
  2. Описати, що робить ступінчасте зберігання і чому це важливо для вартості.
  3. Напишіть речення, в якому пояснюється різниця між брокером і букмекером.

Наприклад, слово «пульсар» (англ. pulsar) використовується для позначення пульсарного випромінювання

Архітектура Pulsar складна, і навіть здавалося б прості терміни можуть мати багатошарове значення залежно від контексту. Для не рідних англомовних носіїв, це може бути значним джерелом нерозуміння під час перегляду коду, обговорення дизайну системи або співпраці з міжнародними командами. Це не просто про те, щоб знати * що * термін означає - це про розуміння * як * використовувати його точно і ефективно в екосистемі Pulsar. Розглянемо деякі типові сценарії, де нюансована мова стає критичною.

Уявіть, що ви переглядаєте запит на звантаження, у якому пропонується збільшити період зберігання повідомлень у певній темі. Просте твердження, наприклад, «збільшити утримання» не достатньо. Колега може відповісти: «Це може значно вплинути на витрати на багаторівневе зберігання. Чи можете ви розібратися, * чому * ви пропонуєте цю зміну і які метрики ви використовуєте, щоб її виправдати? “Ключева відмінність полягає в додаванні кваліфікаційних фраз - демонструючи глибше розуміння потенційних наслідків. Аналогічно, якщо ви описуєте новий шаблон підписки, сказати «ми потребуємо більше підписок» не точніше. Замість цього, розгляньте: « Нам потрібна підписка з більшою пропускною здатністю для цього конкретного випадку використання, що дозволить нам ефективно обробляти пікові навантаження і мінімізувати затримку ». Ця фраза підкреслює * причину * за запитом і його вплив на продуктивність — ключові елементи професійного спілкування у розподіленій системі, такій як Pulsar.

Іншою частою областю, де словник має значення, є обговорення конфігурацій з декількома користувачами. Просте твердження «призначити цього користувача до кластера» не передає повної картини. Більш детальний пояснення буде таким: “Давайте налаштуємо цього орендаря з квотами ресурсів - конкретно обмежуючи використання процесора і пам’яті - щоб забезпечити справедливе розподіл ресурсів між нашими різними командами і запобігти будь-якому окремому орендареві негативно впливати на загальну продуктивність системи.” Точне визначення, наприклад, “квоти ресурсів” і “справедливе розподіл”, демонструє міцне розуміння можливостей багаторазового оренди Pulsar і підкреслює важливість проактивного управління ресурсами. Такий вид ретельної формулювання допомагає уникнути неоднозначності і забезпечує, що всі знаходяться на одній сторінці.

Нарешті, під час розмов Slack або описів PR, важливо використовувати правильну термінологію при усуненні проблем. Замість того, щоб сказати «це не працює», більш корисним підходом буде: «Я спостерігаю високу затримку в цій темі; давайте дослідимо потенційні вузли, пов’язані з пропускною здатністю підписки і затримкою споживача». Це демонструє систематичне розуміння компонентів Pulsar і допомагає ефективно керувати процесом усунення несправностей.

Ось приклад того, як ви можете скористатися pulsar-admin для створення нової теми з певними налаштуваннями:

pulsar-admin topics create --name my-topic --type keyValue --partitions 10 --replication-factor 3 --retention-ms 86400000

Ця команда, коли вона чітко повідомляється - “Ми створюємо нову тему KeyValue з назвою’my-topic’, налаштовуючи її з 10 розділами і коефіцієнтом реплікації 3, щоб забезпечити високу доступність і надлишковість даних. Період зберігання встановлено на 24 години (86400000 мілісекунд).” – демонструє розуміння не тільки самої команди, але і її наслідків в архітектурі Pulsar.

Поширені запитання

Про що ця стаття "Англійська для Apache Pulsar Messaging"?

Learn the English vocabulary for Apache Pulsar: topics, subscriptions, tiered storage, and multi-tenancy.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Англійська для Apache Pulsar Messaging"?

Приблизно 6 min.