Англійська для розробників Envoy Proxy

Освоєння англійського словника, який розробники використовують для слухачів, кластерів і налаштування xDS під час обговорення з командою проксі- сервера Envoy і планок даних мережевої служби.

Envoy підтримує більшість сучасних мережних сервісів, а його словник налаштувань — слухачі, кластери, маршрути і xDS API, які керують ними динамічно — є точним у способах, які мають величезне значення при зневадженні проблем з трафіком. Сказати « налаштування проксі неправильні » не дуже корисно; назвати точний шар (слухач, маршрут або кластер) — це те, що дозволить команді виправити справжню проблему. Цей підручник містить інформацію англійською мовою, яку використовують під час обговорення Envoy з командою.

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

** Слухач ** — назване розташування у мережі (IP- адреса і порт), за яким Envoy приймає вхідні з’ єднання, налаштовано за допомогою ланцюгів фільтрів, які обробляють отриманий трафік. “Транспорт не доходить до служби взагалі — перевірте, чи дійсно слухач прив’ язано до порту, до якого з’ єднується клієнт, перш ніж шукати далі вниз по течії.”

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

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

** xDS (API- інтерфейси служби виявлення) ** — сімейство API- інтерфейсів (CDS, LDS, RDS, EDS та ін.), які використовуються у плані керування для динамічного перенесення налаштувань до Envoy, замість залежності від статичних файлів налаштування. “Ми не маємо потреби перезапускати жодного проксі, щоб розгорнути цей новий маршрут — керуюча площина відсилає його через xDS, а Envoy застосовує його без перезапуску.”

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

** Ланцюг фільтрів ** — упорядкована послідовність мережевих або HTTP- фільтрів (наприклад, фільтрів завершення, автентифікації або обмеження швидкості TLS), які застосовуються до трафіку у середовищі слухання, подібна за змістом до ланцюга проміжного програмного забезпечення.

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

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

  • Чи є це проблемою слухача, проблемою маршруту або проблемою кластера?
  • Чи є в цьому кластері якісь здорові вузли, або ж перевірка здоров’я неправильно налаштована?
  • Чи відповідає цей маршрут шляху правильно, або він потрапляє в помилку за замовчуванням?
  • «Чи це відштовхується через xDS, або нам потрібна статична зміна конфігурації і перезапуск?»
  • Чи є тут вихідний перемикач, чи це справжня помилка вгорі?

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

Перегляд запиту на звантаження:

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

Пояснення рішення про проектування: “Ми розділили це на два кластери замість одного, з окремими перевірками стану, тому повільний деградований пул не тягне за собою рішення маршрутизації для здорового кластера.”

Опис події: “503 були автоматичними виключачами, що спрацьовували при максимальному відсутньому запиті, а не фактичному відключенні - як тільки служба на верхньому рівні була збільшена, автоматичний виключач автоматично скидався.”

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

  • Ви можете сказати **« listener », « route », ** або « cluster », особливо під час сортування проблем Envoy — це стандартне питання першого сортування, яке негайно зменшує проблему.
  • Під час зневадження 503, запитайте “чи кластер має здорові вузли?” перед тим, як припустити помилку на рівні програми — Envoy з радістю поверне 503 чисто через стан перевірки здоров’я.
  • Скористайтеся ** « xDS » ** для опису динамічного налаштування, яке здійснюється за допомогою рівня керування, відмінного від статичного налаштування завантаження, яке вимагає перезапуску.
  • Розрізняти ** « вимкнення автоматичного виключника » ** (наближення до захисної межі) від справжнього відключення на верхньому рівні — симптоми схожі, але основна причина і виправлення різні.

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

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

Навигація Nuance: Відповідь на зворотний зв’язок від глобальних команд

Будьмо чесними – робота в міжнародному середовищі розробки, особливо в тому, що сильно залежить від інструментів, таких як Envoy Proxy, вводить цілий шар лінгвістичної складності. Це не тільки про технічні терміни; це про те, як ці терміни передаються і приймаються. Багато розробників, які вивчають професійну англійську як другу мову, стикаються з тонкощами фразування, які не перекладаються безпосередньо з їх рідної мови. Здається, що простий запит на зміну може відчуватися як критика, або добре намірена пропозиція може бути неправильно інтерпретована через відмінності в очікуваннях щодо прямоти, формальності і використання кваліфікаторів.

Однією з спільних проблем є надання конструктивного зворотнього зв’язку. Метою є не просто визначити проблему, а обґрунтувати її таким чином, щоб мотивувати дії і сприяти співпраці. Наприклад, замість того, щоб сказати «Це не працює», - що може звучати обвинувальним - розгляньте «Я спостерігав, що тайм-аут з’єднання запускається періодично. Чи можемо ми дослідити потенційні проблеми з затримкою мережі?» Цей підхід зосереджено на * спостереженні * і * потенційних причинах *, запрошуючи до обговорення, а не вимагаючи рішення. Аналогічно, під час перегляду запиту на звантаження, уникайте тверджень на зразок « Це погано ». Замість цього спробуйте « Налаштування здається надто складним для цієї певної служби; можливо, ми могли б спростити його, щоб полегшити підтримку ». Підсвічування * причини * вашого звернення — підтримки, продуктивності, безпеки — негайно підвищує рівень розмови і показує, що ви зацікавлені у позитивному результаті.

Інша часта проблема виникає при обговоренні конфігурації xDS. Сама термінологія може бути щільною, і варіації в тому, як команди підходять до управління кластерами, призводять до різних очікувань. Розробник з одного регіону може типово використовувати більш деталізовані параметри керування, а хтось з іншого регіону може надавати перевагу спрощеним налаштуванням для швидшого розгортання. Важливо чітко сформулювати * чому * рекомендовано конкретне налаштування - “Ми використовуємо це вище значення тайм-аута, щоб забезпечити стабільні з’єднання під час початкового виявлення послуги” - і активно запитувати обґрунтування за альтернативними підходами. Пам’ ятайте, що різні технічні філософії не обов’ язково є помилками; вони представляють цінні перспективи, які можуть зміцнити загальний дизайн.

Нарешті, будьте уважні до свого тону в асинхронних каналах зв’язку, таких як Slack. Надмірно формальна мова може відчуватися жорсткою і віддаленою, в той час як надмірно неформальна фраза може здатися непрофесійною. Стрімтеся до балансу — чіткого, короткого і шанобливого. Використання емодзі розумно також може допомогти передати емоції і побудувати відносини, але завжди враховуйте культурний контекст у вашій команді.

# Example: Envoy CLI command to inspect connection timeouts

envoy -d debug --port 10250 --tunnel all | grep "connection_timeout"

Ця команда показує практичний сценарій, у якому технічний словник використовується у реальних задачах зневадження, і показує, як розробники обговорюють і вирішують проблеми, пов’ язані з налаштуванням Envoy. Це простий приклад типу спілкування, що часто відбувається під час сеансів усунення несправностей - швидке документування спостережень і обмін результатами з колегами.

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

Про що ця стаття "Англійська для розробників Envoy Proxy"?

Освоєння англійського словника, який розробники використовують для слухачів, кластерів і налаштування xDS під час обговорення з командою проксі- сервера Envoy і планок даних мережевої служби.

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

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

Скільки часу займає читання "Англійська для розробників Envoy Proxy"?

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