Англійська для розробників зворотного проксі Traefik

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

Динамічна модель налаштування Traefik, керована мітками, використовує словник — «маршрутизатор», «точку входу», «ланцюг середнього програмного забезпечення» — який перетинається, але не відображається один-до-одного на Nginx або HAProxy. Цей підручник містить інформацію англійською мовою, яку використовують під час обговорення налаштування Traefik з командою інфраструктури.

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

Entrypoint — порт і протокол, на якому Traefik слухає (зазвичай web для 80, websecure для 443), перший етап, через який проходить запит. “Ми тільки виставляємо websecure точку входу зовні — web точка входу просто перенаправляє на HTTPS, вона не обслуговує звичайний трафік.”

** Маршрутизатор ** — правило, яке відповідає вхідним запитам (за вузлом, шляхом, заголовками) до певної служби, частина, яка вирішує, куди насправді буде спрямовано запит. “Це правило маршрутизатора відповідає лише голому домену, а не піддомену www — саме тому запити до www проходять через типовий сервер.”

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

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

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

** Динамічне налаштування / провайдер ** — механізм (мітки Docker, CRD Kubernetes, налаштування за допомогою файлів) Traefik стежить за автоматичним виявленням маршрутизаторів і служб без перезапуску. “Оскільки ми використовуємо провайдера Docker, цей маршрут просто потребує правильних міток на контейнері — немає окремого файлу налаштувань для оновлення або перезавантаження.”

** Завершення TLS ** — точка, де зашифрований трафік HTTPS розшифровується, зазвичай, у точці вводу, перед тим, як його буде перенаправлено до сервера як звичайний HTTP. “Завершення TLS відбувається на Traefik — сама служба сервера бачить лише простий HTTP, тому не приймайте, що їй потрібен власний сертифікат.”

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

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

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

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

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

Пояснення рішення про проектування:

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

Опис події: “Перерив було відслідковано до визначення служби, що вказує на сервери, які всі були невдалими перевірками стану — Traefik не мав здорової цілі, до якої можна було б маршрутизувати.”

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

  • Використовуйте “entrypoint”, а не « port » — це специфічний термін Traefik, який відрізняє поверхню слухання від логіки маршрутизації, що за нею стоїть.
  • Явно вкажіть назву ** порядку ланцюга проміжного програмного забезпечення ** під час зневадження несподіваної поведінки — порядок ланцюга є одним з найпоширеніших джерел незначних помилок Traefik.
  • Використовуйте « динамічне налаштування » для опису налаштувань, які керуються мітками — це означає, що ви розумієте, що Traefik не потребує перезапуску для отримання нових маршрутів, на відміну від деяких традиційних проксі- серверів.
  • Розрізняти “router” від “service” чітко — маршрутизатор вирішує куди йде запит; служба визначає, що насправді там є.

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

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

Наприклад, навігаційна система «Навігатор» дозволяє переглядати інформацію про маршрути

Основні концепції Traefik - маршрутизація, середнє програмне забезпечення і динамічне виявлення - відносно прості, як тільки ви зрозумієте термінологію. Однак, ефективне повідомлення цих ідей під час перегляду коду, обговорення Slack або при написанні описів запитів на витягування вимагає більш нюансового розуміння англійської фрази та загального словника розробників. Це не просто про те, що знати «точку входу» важливо; це про те, щоб сформулювати * чому * і як це пов’язано з більш широкою системною архітектурою. Це часто включає в себе точну мову, яка уникає неоднозначності і чітко передає вашу заплановану дію або обґрунтування. Одним з найбільших викликів для носіїв мови, для яких англійська не є рідною, є перехід від буквальних перекладів до стилю спілкування, який є природнім і прийнятним у технічному контексті. Це стосується прийняття * тону * так само, як і самі слова.

Розглянемо такий сценарій: під час перегляду коду ви помічаєте, що розробник додав точку входу безпосередньо до налаштувань Traefik без використання будь- якого проміжного програмного забезпечення. Просте “Це потребує середнього програмного забезпечення” не впорається. Замість цього, ви можете сказати щось на зразок: « Я помітив, що ця точка входу не використовує жодного з вбудованих середовищ Traefik для таких речей, як припинення SSL або обмеження швидкості. Введення їх безпосередньо може призвести до дублювання логіки і збільшення складності в довгостроковій перспективі - ми повинні розглянути можливість використання спеціального x-forwarded-for заголовка середовища разом з ним. “Це демонструє не тільки проблему, але і * чому * це проблема і пропонує більш надійне рішення. Аналогічно, при описі змін у запиті на витягування, замість того, щоб сказати « Додано точку входу », ви можете написати: « Реалізовано нову точку входу для нашого API-сервісу, налаштовану для обробки HTTPS-трафику через вбудоване середнє програмне забезпечення TLS Traefik. Це спрощує управління сертифікатами і покращує безпеку»

Іншою поширеною проблемою є надмірне використання надто технічного жаргону без контексту. Розробники часто потрапляють у пастку пояснення як щось працює замість чому це корисно в системі. Сфокусуйтеся на результатах, потенційних проблемах і на тому, як ваші зміни сприяють більш стійкій або підтримуваній архітектурі. Наприклад, якщо ви обговорюєте динамічне виявлення служб, не вкажіть « Traefik використовує DNS ». Замість цього поясніть: « Налаштування Traefik з автоматичним розв’ язанням DNS забезпечує автоматичне оновлення правил маршрутизації всіх нових мікросервісів, що розгортаються, уникаючи необхідності змінювати налаштування вручну і зменшуючи час простою. »

І, нарешті, не бійтеся ставити прояснюючі питання. Якщо ви не впевнені у логіці або термінології колеги, ввічливо запитайте його про пояснення. « Чи можете ви розібратися, чому ви вирішили реалізувати саме це правило маршрутизації? Я хочу переконатися, що я повністю розумію заплановану поведінку. » Проявлення готовності до навчання і співпраці є безцінним у будь-якому технічному середовищі.

# Example Traefik configuration snippet demonstrating middleware usage:
version: 1.9
log:
  level: DEBUG

entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"
    tls:
      certResolver: le-https # Example cert resolver
#  ... other configurations ...

servers:
  myapi:
    listener:
      name: websecure
      port: 443
    metadata:
      labels:
        traefik.enable.routers: "true"
    tls:
      certResolver: le-https
    middlewares:
      - my-auth # Example middleware

Цей невеликий приклад демонструє використання конфігурації tls і посилання на зовнішній розв’ язувач сертифікатів, ілюструючи, як функції Traefik сприяють безпечному і динамічно налаштованому маршрутизації.

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

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

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

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

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

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

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