New

Представляем AISIX: AI-нативный AI-шлюз для LLM и ИИ-агентовУзнать больше

Узнать больше

All posts tagged

"NGINX"

Apache APISIX против NGINX

Technology

February 2, 2024

Apache APISIX против NGINX

Исследуйте разницу в производительности между NGINX и APISIX в веб-серверах на основе реальных стресс-тестов.

OpenResty FAQ | Как OpenResty используется на практике

OpenResty (NGINX + Lua)

February 10, 2023

OpenResty FAQ | Как OpenResty используется на практике

В этой статье описывается, как OpenResty используется на практике, включая инкапсуляцию базы данных OpenResty, веб-фреймворк OpenResty и другие вопросы.

Часть 3: Как создать API-шлюз для микросервисов с использованием OpenResty

OpenResty (NGINX + Lua)

February 3, 2023

Часть 3: Как создать API-шлюз для микросервисов с использованием OpenResty

Представлены минимальные примеры того, как запустить API-шлюз с использованием конфигурации и инициализации NGINX, сопоставления маршрутов и плагинов, загрузки плагинов и написания собственных плагинов.

Часть 2: Как создать API-шлюз для микросервисов с использованием OpenResty

OpenResty (NGINX + Lua)

February 2, 2023

Часть 2: Как создать API-шлюз для микросервисов с использованием OpenResty

Технический выбор четырех основных компонентов API Gateway: хранилище, маршрутизация, схема и плагины, представлены соответственно.

Часть 1: Как создать API-шлюз для микросервисов с использованием OpenResty

OpenResty (NGINX + Lua)

January 20, 2023

Часть 1: Как создать API-шлюз для микросервисов с использованием OpenResty

В этой статье рассматриваются роль, основные компоненты и концепции API-шлюза для микросервисов.

OpenResty FAQ | Динамическая загрузка, NYI и кэширование Shared Dict

OpenResty (NGINX + Lua)

January 19, 2023

OpenResty FAQ | Динамическая загрузка, NYI и кэширование Shared Dict

В этой статье объясняются динамическая загрузка, блокирующие операции, NYI (Not Yet Implemented), динамический upstream и кэширование общих словарей.

Три часто используемые библиотеки Lua Resty в OpenResty

OpenResty (NGINX + Lua)

January 13, 2023

Три часто используемые библиотеки Lua Resty в OpenResty

Давайте изучим часто используемые библиотеки Lua Resty в OpenResty: `lua-resty-ngxvar`, `lua-rapidjson` и `lua-resty-worker-events`.

Убийственная функция OpenResty: Динамичность

OpenResty (NGINX + Lua)

January 12, 2023

Убийственная функция OpenResty: Динамичность

Openresty позволяет реализовать FaaS, Edge Computing, Dynamic Upstream и многое другое благодаря динамическим функциям, предоставляемым LuaJIT.

Динамическое ограничение скорости (Dynamic Rate-Limiting) в OpenResty

OpenResty (NGINX + Lua)

January 6, 2023

Динамическое ограничение скорости (Dynamic Rate-Limiting) в OpenResty

Давайте узнаем, как использовать реализацию `limit-req`, `limit-count`, `limit-conn` и `limit.traffic` в `lua-resty-limit-traffic` и настроить ограничение скорости с их помощью.

Как справляться с резкими скачками трафика: алгоритмы Leaky Bucket и Token Bucket

OpenResty (NGINX + Lua)

January 5, 2023

Как справляться с резкими скачками трафика: алгоритмы Leaky Bucket и Token Bucket

В этой статье объясняется, как использовать алгоритмы leaky bucket (протекающее ведро) и token bucket (ведро с токенами) в NGINX и OpenResty для решения проблемы всплесков трафика.

`lua-resty-*` Инкапсуляция освобождает разработчиков от многоуровневого кэширования

OpenResty (NGINX + Lua)

December 30, 2022

lua-resty-* Инкапсуляция освобождает разработчиков от многоуровневого кэширования

В этой статье рассматриваются принципы реализации и использование двух библиотек для инкапсуляции кэширования: `lua-resty-memcached-shdict` и `lua-resty-mlcache`.

Как избежать Cache Stampede?

OpenResty (NGINX + Lua)

December 29, 2022

Как избежать Cache Stampede?

Мы можем использовать активное обновление кэша, lua-resty-lock, lua-resty-shcache и директивы NGINX для предотвращения "набегов на кэш" (cache stampedes) в NGINX и OpenResty.

`systemtap-toolkit` и `stapxx`: Как использовать данные для решения сложных проблем?

OpenResty (NGINX + Lua)

December 22, 2022

systemtap-toolkit и stapxx: Как использовать данные для решения сложных проблем?

Инструментарий на основе systemtap: systemtap-toolkit и stapxx могут быть использованы для решения задач в реальном времени, таких как анализ и диагностика NGINX и OpenResty.

Ключи к высокой производительности: `shared dict` и `lru` кэш

OpenResty (NGINX + Lua)

December 22, 2022

Ключи к высокой производительности: shared dict и lru кэш

Эта статья знакомит вас с вариантами использования, применением и принципами реализации как `shared dict`, так и `lru` кэша в Openresty.

Различные методы отладки в OpenResty

OpenResty (NGINX + Lua)

December 16, 2022

Различные методы отладки в OpenResty

В этой статье описывается, как выполнять отладку в OpenResty с использованием точек останова и выводом логов, алгоритма бинарного поиска и комментариев, динамической отладки, flame graph и других методов.

Руководство по стилю кодирования OpenResty

OpenResty (NGINX + Lua)

December 15, 2022

Руководство по стилю кодирования OpenResty

Руководство по стилю OpenResty содержит общие правила о том, "как писать" код OpenResty, Lua и NGINX.

Советы для 10-кратного улучшения производительности в OpenResty: структура данных `Table`

OpenResty (NGINX + Lua)

December 9, 2022

Советы для 10-кратного улучшения производительности в OpenResty: структура данных Table

В openresty таблицы оказывают значительное влияние на производительность. В этой статье описывается, как оптимизировать производительность за счет ручного управления индексами, повторного использования таблиц и использования табличного пула (tablepool).

Преимущества и недостатки `string` в OpenResty

OpenResty (NGINX + Lua)

December 8, 2022

Преимущества и недостатки string в OpenResty

В этой статье представлены методы оптимизации, которые следует применять в OpenResty: обработка запросов должна быть короткой, простой и быстрой, а также следует избегать генерации промежуточных данных. Также в статье рассматриваются методы оптимизации для работы со строками.

Неблокирующий ввод-вывод (Non-blocking I/O) — ключ к повышению производительности OpenResty

OpenResty (NGINX + Lua)

December 2, 2022

Неблокирующий ввод-вывод (Non-blocking I/O) — ключ к повышению производительности OpenResty

Избегайте использования блокирующих операций ввода-вывода в OpenResty, так как они негативно влияют на производительность. Некоторые часто неправильно используемые операции включают: выполнение внешних команд, обработку дискового ввода-вывода и использование lusockets.

OpenResty FAQ | Сетевая структура для тестирования, функции, связанные с SSL, DSL, инструмент `ab`

OpenResty (NGINX + Lua)

December 1, 2022

OpenResty FAQ | Сетевая структура для тестирования, функции, связанные с SSL, DSL, инструмент ab

В этой статье описывается, как создать тестовую сетевую среду, поддержку SSL и DSL в test::nginx, а также использование инструмента `ab`.

Точное тестирование производительности с помощью `wrk`

OpenResty (NGINX + Lua)

November 25, 2022

Точное тестирование производительности с помощью wrk

В этой статье описываются особенности инструмента для тестирования производительности `wrk` и способы его использования для эффективного и точного тестирования производительности.

Малоизвестные возможности использования `test::nginx`

OpenResty (NGINX + Lua)

November 24, 2022

Малоизвестные возможности использования test::nginx

test::nginx обладает такими функциями, как препроцессор, пользовательские функции, перемешивание (shuffle) и переиндексация (reindex).

Методы тестирования `test::nginx`: конфигурация, отправка запросов и обработка ответов

OpenResty (NGINX + Lua)

November 18, 2022

Методы тестирования test::nginx: конфигурация, отправка запросов и обработка ответов

В этой статье описывается, как использовать test::nginx для отправки запросов и обработки ответов в тестовом сценарии.

Препятствие при внесении кода: `test::nginx`

OpenResty (NGINX + Lua)

November 17, 2022

Препятствие при внесении кода: test::nginx

test::nginx — это DSL, используемый для TDD в OpenResty, который также может применяться для тестирования NGINX и HTTP.

OpenResty FAQ | Привилегии процессов, фазы выполнения и многое другое

OpenResty (NGINX + Lua)

November 11, 2022

OpenResty FAQ | Привилегии процессов, фазы выполнения и многое другое

FAQ по NGINX + Lua (OpenResty) отвечает на вопросы о правах привилегированных процессов, фазовой отладке, практике использования ngx.exit, переменных и условиях гонки.

Обработка трафика на уровне Layer 4 и реализация сервера Memcached с помощью OpenResty

OpenResty (NGINX + Lua)

November 10, 2022

Обработка трафика на уровне Layer 4 и реализация сервера Memcached с помощью OpenResty

OpenResty легко реализует сервер Memcached с использованием модуля stream, предоставляемого NGINX, который может обрабатывать трафик на уровне 4.

Введение в общие API в OpenResty

OpenResty (NGINX + Lua)

November 4, 2022

Введение в общие API в OpenResty

Эта статья познакомит вас с использованием общих API OpenResty для работы со временем, регулярными выражениями и другими распространёнными задачами.

За пределами веб-сервера: Привилегированные процессы и задачи по таймеру

OpenResty (NGINX + Lua)

November 3, 2022

За пределами веб-сервера: Привилегированные процессы и задачи по таймеру

Привилегированные процессы (Privileged Process) и задачи таймера (Timer Tasks) — это важные функции, которые отличают OpenResty от NGINX и других веб-серверов.

Ядро OpenResty: cosocket

OpenResty (NGINX + Lua)

October 28, 2022

Ядро OpenResty: cosocket

Cosocket является основой для различных неблокирующих библиотек lua-resty-*. В этой статье рассматриваются основные концепции и распространенные API cosocket.

Магия взаимодействия между работниками NGINX: одна из важнейших структур данных `shared dict`

OpenResty (NGINX + Lua)

October 27, 2022

Магия взаимодействия между работниками NGINX: одна из важнейших структур данных shared dict

shared dict — это важная структура данных в NGINX и OpenResty.

OpenResty — это улучшенный NGINX с поддержкой динамических запросов и ответов

OpenResty (NGINX + Lua)

October 23, 2022

OpenResty — это улучшенный NGINX с поддержкой динамических запросов и ответов

OpenResty — это расширенная версия NGINX с поддержкой динамических запросов и ответов. В этой статье объясняются API для управления запросами и ответами в OpenResty, такие как "ngx.req.set_method", "ngx.req.set_uri_args", "ngx.req.set_header" и другие.

Документация и тестовые случаи: мощные инструменты для решения проблем разработки в OpenResty

OpenResty (NGINX + Lua)

October 23, 2022

Документация и тестовые случаи: мощные инструменты для решения проблем разработки в OpenResty

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

Что делает OpenResty таким особенным

OpenResty (NGINX + Lua)

October 14, 2022

Что делает OpenResty таким особенным

OpenResty построен на основе NGINX и LuaJIT, и с этого момента можно начать изучение его основных концепций и принципов работы.

Что делать, если возникает конфликт между правилами Lua и конфигурацией NGINX?

OpenResty (NGINX + Lua)

October 13, 2022

Что делать, если возникает конфликт между правилами Lua и конфигурацией NGINX?

Некоторые вопросы и ответы о OpenResty, API Gateway и Lua.

Топ-советы: выявление уникальных концепций и подводных камней в Lua

OpenResty (NGINX + Lua)

October 12, 2022

Топ-советы: выявление уникальных концепций и подводных камней в Lua

Вот несколько уникальных концепций Lua, например, Weak Table, Closure и upvalue.

Что такое table и metatable в Lua?

OpenResty (NGINX + Lua)

October 11, 2022

Что такое table и metatable в Lua?

Table — единственный механизм структурирования данных в Lua. Мы можем использовать таблицы для представления обычных массивов, символьных таблиц, множеств, записей, очередей и других структур данных. Узнайте больше из этой статьи.

Как работает перезагрузка NGINX? Почему NGINX не выполняет горячую перезагрузку?

Technology

September 30, 2022

Как работает перезагрузка NGINX? Почему NGINX не выполняет горячую перезагрузку?

Вы знаете, как работает перезагрузка NGINX? Прочитайте этот пост, чтобы узнать о её ограничениях и о том, как избежать простоев.

Недостаток JIT-компилятора: почему следует избегать NYI?

OpenResty (NGINX + Lua)

September 30, 2022

Недостаток JIT-компилятора: почему следует избегать NYI?

LuaJIT имеет несколько еще не реализованных функций (LuaJIT NYI), изучите их хорошо, чтобы писать высокопроизводительный код на Lua.

Why Does lua-resty-core Perform Better?

OpenResty (NGINX + Lua)

September 30, 2022

Why Does lua-resty-core Perform Better?

The lua-resty-core is a new FFI-based API for lua-nginx-module, which provides higher performance. Learn more from this post.

Почему Jiakaobaodian выбирает контроллер APISIX Ingress

Case Study

September 29, 2022

Почему Jiakaobaodian выбирает контроллер APISIX Ingress

После сравнения основных контроллеров Ingress, Jiakaobaodian выбрал Apache APISIX в качестве шлюза для управления трафиком.

В чем разница между LuaJIT и стандартным Lua?

OpenResty (NGINX + Lua)

September 23, 2022

В чем разница между LuaJIT и стандартным Lua?

LuaJIT — это Just-In-Time Compiler (JIT) для языка программирования Lua. Что делает LuaJIT быстрее, чем Lua? В чем разница между ними?

Начало работы с Lua

OpenResty (NGINX + Lua)

September 23, 2022

Начало работы с Lua

Lua — это легкий и высокоуровневый язык программирования, разработанный в первую очередь для встраивания в приложения. Начните изучать Lua прямо отсюда!

Знания о NGINX, используемом в OpenResty

OpenResty (NGINX + Lua)

September 17, 2022

Знания о NGINX, используемом в OpenResty

Nginx предоставляет модель Master-Worker и фазы выполнения запросов. Прочитав этот пост, вы сможете лучше понять основы Nginx.

Как управлять сторонними пакетами OpenResty через LuaRocks и OPM?

OpenResty (NGINX + Lua)

September 17, 2022

Как управлять сторонними пакетами OpenResty через LuaRocks и OPM?

Мы можем использовать OPM или LuaRocks для управления сторонними пакетами OpenResty. Узнайте больше, прочитав эту статью.

История о Coredump, связанная с NGINX ctx и error_page

Technology

September 16, 2022

История о Coredump, связанная с NGINX ctx и error_page

Недавно мы помогли пользователю APISIX устранить странную ошибку coredump. Мы хотели бы поделиться некоторыми интересными моментами, которые могут быть полезны для отладки NGINX и APISIX.

Alternative to NGINX That Makes Your Life Easier: Apache APISIX

Products

September 15, 2022

Alternative to NGINX That Makes Your Life Easier: Apache APISIX

Многие инженеры и команды разработчиков использовали NGINX ранее, но сталкивались с ограничениями и узкими местами в его работе. Существует ли лучшая альтернатива?

Подпроекты за OpenResty

OpenResty (NGINX + Lua)

September 12, 2022

Подпроекты за OpenResty

В этом посте представлена структура каталогов OpenResty и связанные инструменты, такие как NGINX C Modules, test-nginx, проекты lua-resty и другие.

Ваша первая программа на OpenResty: Hello World

OpenResty (NGINX + Lua)

September 9, 2022

Ваша первая программа на OpenResty: Hello World

Следуйте этому посту, чтобы реализовать Hello World в OpenResty!

What Is the Difference Between OpenResty and NGINX?

OpenResty (NGINX + Lua)

September 9, 2022

What Is the Difference Between OpenResty and NGINX?

Что такое OpenResty и почему его используют так много компаний в наши дни? Прочитайте этот пост, чтобы узнать о его динамических и неблокирующих функциях.

Почему стоит выбрать Apache APISIX вместо NGINX или Kong

Products

July 30, 2022

Почему стоит выбрать Apache APISIX вместо NGINX или Kong

Многие компании раньше использовали Nginx или Kong в качестве API-шлюза, но теперь перешли на Apache APISIX. Как Open Source API-шлюз, Apache APISIX решает множество проблем, с которыми сталкиваются бизнесы.

Почему AISpeech выбирает Apache APISIX вместо NGINX в качестве Ingress Controller для k8s

Case Study

May 7, 2020

Почему AISpeech выбирает Apache APISIX вместо NGINX в качестве Ingress Controller для k8s

Почему AISpeech, компания, занимающаяся технологиями искусственного интеллекта для обработки речи, выбирает Apache APISIX вместо официального NGINX в качестве Ingress Controller для Kubernetes?