Инфраструктура Tencent Node.js TSW официально с открытым исходным кодом

Node.js Тенсент Открытый исходный код Эксплуатация и обслуживание

После шести лет итераций и ускорений Tencent Tencent Server Web (далее именуемый TSW), компонент эксплуатации и обслуживания на уровне компании, сегодня официально стал открытым исходным кодом. TSW — это инфраструктура Node.js для разработчиков веб-интерфейса, первоначально предназначенная для повышения эффективности обнаружения проблем, обеспечения захвата облачных пакетов, голографических журналов и обнаружения исключений. TSW предоставляет стабильные услуги для десятков миллиардов запросов каждый день и широко используется более чем в 30 важных компаниях, таких как Qzone, Weishi, Weiyun, QQ Music, National K-Song и Tencent Cloud.

Официальный сайт: https://tswjs.org

Адрес открытого исходного кода Github: https://github.com/Tencent/TSW


Облачный захват

TSW поддерживает захват пользовательских пакетов

  • Для окрашенных пользователей
  • Собирать пакеты, захваченные в течение жизненного цикла запроса
  • Предоставляет такие функции, как захват и загрузка пакетов
  • Формат захвата пакетов поддерживает Fiddler и Charles, а также HAR.


Голографический бревно

TSW предоставляет пользовательские голографические журналы, помогающие разработчикам быстро обнаруживать проблемы.

  • Логи в жизненном цикле запроса записываются голографически для формирования потока
  • Потоковое вещание агрегировано по пользовательскому параметру
  • Обеспечьте функцию просмотра, чтобы быстро найти причину проблемы


Обнаружена аномалия

  • Встроенные индикаторы мониторинга в реальном времени
  • Нажимной сигнал исключения кода

Кто его использует?


Прямо из

В октябре 2012 года первая версия TSW была запущена на Zhiyun (интегрированная платформа автоматической эксплуатации и обслуживания), а версия Node.js была 0.6.20. Функция в то время была очень простой, только JS на стороне сервера был реализован прямо из страницы, можно сказать, что нет эксплуатации и обслуживания вообще, единственная ценность - сделать первый экран быстрее. Чтобы усилить это уникальное значение, реализован gzip+chunked, который можно передавать при сжатии, чтобы содержимое страницы возвращалось ритмично, а возврат потока можно было точно контролировать, что очень просто для Node.js.

В браузере, когда вы хотите, чтобы куки через переменные окна контекста принимались, никогда не берите этот куки, это особенно трудоемкая работа. Но в Node.js все по-другому, чтобы принять такой простой файл cookie, требуется особое внимание к тому, где находится объект запроса. Поскольку объект запроса является локальной переменной, недоступной глобально, в этом и заключается проблема.

До 2014 года был обнаружен метод реализации контекста, рождается окно объекта. Всегда относится к текущему пакету, используя Process.domain, собственную доменную характеристику объекта для выполнения этого контекста автоматически переключается. Природа окна Object - это привязки жизненного цикла объекта запроса глобальных переменных. Вы можете получить объект запроса через окно в любое время до достижения других информации файла cookie и так далее.


Есть проблема, которая преследует нас: чтобы решить определенную проблему, требуется один час для захвата пакетов и одна минута для кодирования.Эффективность захвата пакетов серьезно влияет на эффективность локализации проблемы. В этом контексте TSW предлагает решение для захвата облачных пакетов на стороне сервера. По сравнению с захватом пакетов на стороне клиента вам больше не нужно обращать внимание на сетевую среду на стороне клиента, местоположение, протокол уровня доступа и другие вопросы.

Недостаточно только для захвата пакетов и пакетов и пакетов ответов. Используйте объекты контекста для их усиления. В процессе обработки запроса контекст используется для корреляции производных запросов для захвата пакетов для формирования захвата голографического пакета; Производные журналы коррелируют с образованием голографического журнала. Для запроса естественно уметь видеть журналы и захваты всех измерений. Наконец, журнал и захватите пакеты на землю для просмотра. Для запросов, которые не соответствуют ожиданиям, точная причина проблемы может быть предоставлена. Из результатов общая эффективность исследований и разработок команды было качественно улучшено.


Долго в эксплуатации и обслуживании

Топовые фронтенд-разработчики в компании распределены по разным типам продуктов, если вы хотите, чтобы они стали пользователями, нужно сначала пробить стену отдела. Размерность эксплуатации и обслуживания имеет возможность сломать стену. Эксплуатация и обслуживание бизнеса A и бизнеса B, вероятно, будет осуществляться одной и той же группой людей. Точно так же, как гравитационные волны, они могут пересекать измерение пространства и выбирать короткие пути напрямую, не бегая по пространству этого измерения. Поэтому TSW предпочитает сосредоточиться на эксплуатации и обслуживании, а не на том, как писать код, и конкурировать с библиотеками с открытым исходным кодом.

Установка 1 Node.js — это навык, а установка 1000 — эксплуатация и обслуживание. Установка и обновление должны решаться как проблема эксплуатации и обслуживания.
Что касается версии Node.js, мы все знаем, что итерация происходит очень быстро: если каждая версия используется в бизнесе, будет несколько объектов эксплуатации и обслуживания. Может показаться демократичным предоставление бизнесу нескольких версий на выбор, но хорошая работа заключается в уменьшении количества объектов, которые необходимо эксплуатировать и обслуживать.

Можно ли обновить и поддерживать только одну версию? Унифицированное обновление сталкивается с новыми проблемами: расширения CPP тесно связаны с версией Node.js, просто обновить Node.js недостаточно, расширения также нуждаются в едином обслуживании. Чтобы узнать все расширения CPP, TSW использовала мониторинг, оповещения по электронной почте для частных бизнес-расширений, а затем включила их в унифицированное обслуживание TSW. Унифицированное обслуживание ускоряет итерацию TSW, а строгая согласованность версий позволяет избежать проблемы повреждения кода, вызванной итерацией.

Нет проблем в общении на JS между фронтенд-разработчиками, но для студентов, изучающих эксплуатацию и техническое обслуживание, это диалект, и тогда вам нужно уметь говорить на мандаринском диалекте. Взяв за пример логику запуска, Node.js-программа запускается ослепительно, а когда зависает, только разработчик знает, как ее подтянуть, что очень смущает. Взяв в качестве примера расширение и сжатие, после расширения и сужения эксплуатации и обслуживания необходимо переместить код для перехода в режим онлайн и офлайн, что является проблемой. После многих лет накопления в Zhiyun степень автоматизации эксплуатации и обслуживания достигла уровня самообслуживания.TSW выбирает Zhiyun с точки зрения стандартизации. Когда вам нужно установить, перезапустить и обновить TSW, просто нажмите кнопку Zhiyun.


Шэн в открытом доступе

TSW имеет сильную стабильность и универсальность эксплуатации. Node.js Community теперь находится на фронте со значительной степенью тепла и добро пожаловать, TSW как инфраструктуру Node.js, команда по развитию внутренней разработки и была признана командами по эксплуатации и обслуживанию, это откроется TSW, TSW дополнительно улучшено в отрасли Влияние технологии, но и для дальнейшего улучшения и оптимизации TSW.