Чтобы использовать Envoy с приложением Node.js, сначала необходимо установить Envoy на свой сервер. Вы можете сделать это, загрузив и собрав двоичный файл Envoy из исходного кода, или используя менеджер пакетов, такой как apt или yum, для установки предварительно созданного двоичного файла.
После установки Envoy вам необходимо настроить его для маршрутизации трафика в ваше приложение Node.js. Обычно это делается путем создания файла конфигурации на языке конфигурации Envoy.
Вот пример конфигурации, который показывает, как использовать Envoy для маршрутизации трафика к приложению Node.js, работающему на порту 3000:
static_resources: listeners: - name: listener_0 address: socket_address: address: 0.0.0.0 port_value: 80 filter_chains: - filters: - name: envoy.http_connection_manager config: stat_prefix: ingress_http codec_type: AUTO route_config: virtual_hosts: - name: service domains: ["*"] routes: - match: prefix: "/" route: cluster: service http_filters: - name: envoy.router clusters: - name: service connect_timeout: 0.25s type: STATIC lb_policy: ROUND_ROBIN hosts: - socket_address: address: 127.0.0.1 port_value: 3000
В этой конфигурации Envoy прослушивает входящие запросы через порт 80, а затем перенаправляет их в приложение Node.js, работающее через порт 3000. Параметр lb_policy
указывает используемую политику балансировки нагрузки, в данном случае это ROUND_ROBIN
(что означает, что запросы будут быть распределены равномерно по доступным хостам).
После того, как вы настроили Envoy, вы можете запустить службу, выполнив следующую команду:
envoy -c /path/to/config.yaml
После запуска Envoy начнет перенаправлять трафик в ваше приложение Node.js. Вы можете просмотреть статистику о входящих запросах и производительности вашего приложения Node.js, зайдя в интерфейс администратора Envoy, который обычно доступен по адресу https://localhost:9901
.
Для получения дополнительной информации о настройке и использовании Envoy с Node.js вы можете обратиться к документации Envoy.