<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Upstream :: NJET文档</title>
    <link>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/index.html</link>
    <description>upstream相关功能：&#xA;包括动态upstream，upstream_api，主动健康检查，慢启动和app_sticky算法，服务发现等。</description>
    <generator>Hugo</generator>
    <language>zh</language>
    <lastBuildDate>Wed, 15 Oct 2025 15:16:42 +0800</lastBuildDate>
    <atom:link href="https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Upstream成员_api</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/upstream_api/index.html</link>
      <pubDate>Mon, 18 Aug 2025 10:49:13 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/upstream_api/index.html</guid>
      <description>1. 功能说明 该模块使用restful API，可以实现动态对http模块和stream模块的upstream的成员server进行添加、删除、修改、查询的功能。&#xA;2. 依赖模块 动态upstream_api功能依赖模块:&#xA;njet.conf&#xA;load_module modules/njt_http_upstream_member_module.so; njet_ctrl.conf&#xA;load_module modules/njt_http_upstream_api_module.so; 3. 调用样例 3.1 http模块API说明 http模块可以使用upstream_api功能进行增删改查的操作，以下将介绍具体使用方法和使用效果展示。&#xA;查询全部upstream组状态：&#xA;GET http://ip+port/api/v1/upstream_api/http/upstreams/ 查询具体upstream名为backend的upstream组状态：&#xA;GET http://ip+port/api/v1/upstream_api/http/upstreams/backend 查询具体upstream名为backend的所有server配置：&#xA;GET http://ip+port/api/v1/upstream_api/http/upstreams/backend/servers/ 查询具体upstream名为backend的id为0的server配置：&#xA;GET http://ip+port/api/v1/upstream_api/http/upstreams/backend/servers/0 向具体upstream名为backend添加一个server：&#xA;POST http://ip+port/api/v1/upstream_api/http/upstreams/backend/servers/ 修改具体upstream名为backend的id为0的server配置：&#xA;PATCH http://ip+port/api/v1/upstream_api/http/upstreams/backend/servers/0 删除具体upstream名为backend的id为0的server：&#xA;DELETE http://ip+port/api/v1/upstream_api/http/upstreams/backend/servers/0 重置具体upstream名为backend的upstream状态数据：&#xA;DELETE http://ip+port/api/v1/upstream_api/http/upstreams/backend/ 3.1.1 添加 添加功能支持ip和域名的添加：&#xA;ip添加&#xA;curl -X POST -s http://127.0.0.1:8081/api/v1/upstream_api/http/upstreams/backend1/servers/ -d &#39;{&#34;server&#34;:&#34;192.168.40.101:8080&#34;,&#34;weight&#34;:2,&#34;max_conns&#34;:2,&#34;max_fails&#34;:&#34;1&#34;,&#34;fail_timeout&#34;:&#34;5s&#34;,&#34;slow_start&#34;:&#34;5s&#34;,&#34;backup&#34;:true,&#34;down&#34;:false}&#39;|jq . { &#34;id&#34;: 0, &#34;server&#34;: &#34;192.168.40.101:8080&#34;, &#34;weight&#34;: 2, &#34;max_conns&#34;: 2, &#34;max_fails&#34;: 1, &#34;fail_timeout&#34;: &#34;5s&#34;, &#34;slow_start&#34;: &#34;5s&#34;, &#34;route&#34;: &#34;&#34;, &#34;backup&#34;: true, &#34;down&#34;: false } 域名添加</description>
    </item>
    <item>
      <title>stream动态upstream</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/stream_upstream/index.html</link>
      <pubDate>Wed, 15 Oct 2025 15:16:42 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/stream_upstream/index.html</guid>
      <description>1. 功能描述 stream动态upstream功能支持在stream模块内动态的添加/删除一组upstream，并且可以在添加时指定算法，以及upstream相关指令。&#xA;配置stream动态upstream模块后，可以通过动态API的方式，添加删除upstream，配合upstream api以及stream动态proxy_pass功能，可以自由的实现upstream的动态配置和自由切换。&#xA;2. 依赖模块 stream动态upstream功能依赖模块和动态共享内存功能:&#xA;njet.conf:&#xA;load_module modules/njt_stream_dyn_upstream_module.so; shared_slab_pool_size 100m; njet_ctrl.conf&#xA;load_module modules/njt_stream_dyn_upstream_api_module.so; load_module modules/njt_stream_dyn_upstream_module.so; 3. 配置说明 njet.conf&#xA;helper broker modules/njt_helper_broker_module.so conf/mqtt.conf; helper ctrl modules/njt_helper_ctrl_module.so conf/ctrl.conf; load_module modules/njt_stream_dyn_upstream_module.so; #动态upstream模块 load_module modules/njt_http_upstream_member_module.so; #upstream_api模块 user root; worker_processes auto; cluster_name helper; node_name node1; error_log logs/error.log info; pid logs/njet.pid; events { worker_connections 1024; } shared_slab_pool_size 100m; #动态共享内存管理指令，配置大小要大于需要配置的upstream共享内存大小 http { dyn_kv_conf conf/iot-work.conf; include mime.types; default_type application/octet-stream; access_log logs/access.log; upstream backend1 { zone backend1 1m; server 127.0.0.1:5678; } server { listen 5555; server_name localhost; location / { return 200 &#34;5555 ok&#34;; } } } stream { upstream backend_s1 { zone backend_s1 10m; server 192.168.40.150:5678; } server { listen 22222; return &#34;22222 ok&#34;; } } njet_ctrl.conf</description>
    </item>
    <item>
      <title>算法</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/algorithm/index.html</link>
      <pubDate>Tue, 19 Aug 2025 10:49:56 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/algorithm/index.html</guid>
      <description>算法：包括慢启动和app_sticky</description>
    </item>
    <item>
      <title>动态upstream</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/dyn_upstream/index.html</link>
      <pubDate>Mon, 18 Aug 2025 17:54:13 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/dyn_upstream/index.html</guid>
      <description>1. 功能描述 upstream动态化功能，支持添加/删除一组upstream，并且可以在添加时指定算法，以及upstream相关指令。&#xA;配置动态upstream模块后，可以通过动态API的方式，添加删除upstream，配合upstream api以及动态proxy_pass功能，可以自由的实现upstream的动态配置和自由切换。&#xA;2. 依赖模块 动态upstream功能依赖模块和动态共享内存功能:&#xA;njet.conf:&#xA;load_module modules/njt_http_dyn_upstream_module.so; shared_slab_pool_size 100m; njet_ctrl.conf&#xA;load_module modules/njt_http_dyn_upstream_api_module.so; 3. 配置说明 njet.conf&#xA;helper broker modules/njt_helper_broker_module.so conf/mqtt.conf; helper ctrl modules/njt_helper_ctrl_module.so conf/ctrl.conf; load_module modules/njt_http_dyn_upstream_module.so; #动态upstream模块 load_module modules/njt_http_upstream_member_module.so; #upstream_api模块 user root; worker_processes auto; cluster_name helper; node_name node1; error_log logs/error.log info; pid logs/njet.pid; events { worker_connections 1024; } shared_slab_pool_size 100m; #动态共享内存管理指令，配置大小要大于需要配置的upstream共享内存大小 http { dyn_kv_conf conf/iot-work.conf; include mime.types; default_type application/octet-stream; access_log logs/access.log; upstream backend1 { zone backend1 1m; server 127.0.0.1:5678; } server { listen 5555; server_name localhost; location / { keepalive_timeout 750s; return 200 &#34;5555 ok&#34;; } location /test { proxy_http_version 1.1; proxy_set_header Connection &#34;&#34;; proxy_pass http://backend1; } location /mirror { internal; set $upstream dyn_backend1; proxy_pass http://$upstream; } } server { listen 5678; location / { return 200 &#34;5678 ok&#34;; } } server { listen 5999 ssl; server_name test.server.com; ssl_certificate certs/ca/rsa.server.cer.pem; ssl_certificate_key certs/ca/rsa.server.key.pem; ssl_ciphers RSA+AES128:RSA+AES256:RSA+3DES:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:EECDH+AES256:EECDH+3DES:!MD5; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_prefer_server_ciphers on; location / { charset utf-8; default_type text/html; return 200 &#34;5999 ssl $request_uri ok&#34;; } } } njet_ctrl.conf</description>
    </item>
    <item>
      <title>服务发现</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/service_discovery/index.html</link>
      <pubDate>Mon, 18 Aug 2025 15:45:32 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/service_discovery/index.html</guid>
      <description>1. 功能说明 http，stream upstream 配置域名格式的server，定期查询dns server进行域名解析，实现对upstream server 的添加，删除，修改。并且支持upstream中添加service字段，可以使用DNS服务器中配置的SRV记录。&#xA;2. 配置说明 2.1 配置示例 user root root; worker_processes 1; error_log /home/njet/logs/error.log debug; events { worker_connections 1024; } http { dyn_kv_conf conf/iot.conf; error_log /home/njet/logs/error.log debug; access_log /home/njet/logs/access.log combined; upstream http1{ zone upstream_http 64k; resolver 192.168.40.101 valid=10s; state zyg11.conf; } upstream http2{ zone upstream_http 64k; resolver 192.168.40.101 valid=10s; server www.dev.test.com resolve; } server { listen 8000; server_name cluster1; location / { proxy_pass http://http1; } } server { listen 8899; server_name cluster2; } } stream{ upstream stream_upstream{ zone upstream_stream 64k; resolver 192.168.40.101 valid=10s; state zyg_stream.conf; } server { listen 9000; proxy_pass stream_upstream; } } helper ctrl /home/njet/modules/njt_helper_ctrl_module.so /home/njet/conf/njet_ctrl.conf; helper broker /home/njet/modules/njt_helper_broker_module.so conf/mqtt.conf; cluster_name helper; node_name node1; 3. 指令说明 3.1 resolver Syntax: resolver address ... [valid=*time*] [ipv4=on|off] [ipv6=on|off] ; Default: — Context: upstream 说明：配置自定义dns解析地址。</description>
    </item>
    <item>
      <title>Health_check</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/health_check/index.html</link>
      <pubDate>Mon, 18 Aug 2025 11:30:22 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/health_check/index.html</guid>
      <description>健康检查 主动健康检查与被动健康检查：主动健康检查由NJet主动发起请求测试上游服务是否正常，如不正常则及时剔除对应服务；被动健康检查由NJet检测上游服务的异常返回发现服务异常，不能主动感知上游服务状态。</description>
    </item>
  </channel>
</rss>