<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>算法 :: NJET文档</title>
    <link>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/algorithm/index.html</link>
    <description>算法：包括慢启动和app_sticky</description>
    <generator>Hugo</generator>
    <language>zh</language>
    <lastBuildDate>Mon, 18 Aug 2025 17:42:49 +0800</lastBuildDate>
    <atom:link href="https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/algorithm/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>慢启动</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/algorithm/slow_start/index.html</link>
      <pubDate>Mon, 18 Aug 2025 17:42:49 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/algorithm/slow_start/index.html</guid>
      <description>1. 功能说明 慢启动（Slow Start）功能是一种用于优化负载均衡和请求处理的机制。它旨在在系统启动或发生重启后逐渐增加服务的负载，以避免因同时接收大量请求而导致系统过载或崩溃的情况。&#xA;慢启动功能的原理是，在服务启动后，njet会逐步增加对服务的流量引导，而不是立即将所有请求发送到后端服务器。这样可以有效地平滑过渡和控制负载，避免由于突然大量请求的到来而引起的性能问题。&#xA;2. 配置示例 upstream test { server 127.0.0.1:7001 slow_start=30s; server 127.0.0.1:7002; } 在上述示例中，slow_start参数设置为 30s，表示在启动后的前30秒内逐步增加对服务器的流量引导。&#xA;slow_start：设置慢启动的时间长度。可以使用 s表示秒，m表示分钟，h表示小时。例如：slow_start=1m30s表示1分钟30秒的慢启动时间。</description>
    </item>
    <item>
      <title>app_sticky</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/algorithm/app_sticky/index.html</link>
      <pubDate>Mon, 18 Aug 2025 16:52:33 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/upstream/algorithm/app_sticky/index.html</guid>
      <description>1. 功能说明 特定app 客户端和server 端 sticky 路由一致性算法。该算法配置后会根据指定的cookie值或者header值进行session路由。&#xA;app_sticky支持通过动态upstream添加以及集群配置，详见集群app_sticky配置。&#xA;2. 依赖模块 app_sticky算法依赖模块:&#xA;load_modules modules/njt_app_sticky_module.so 3. 指令说明 upstream back{ app_sticky zone=app:4m cookie:route; server 127.0.0.1:8008; #real server server 127.0.0.1:8009; #real server } app_sticky： 该功能配置指令 zone={name}:{size} : 共享内存配置名称以及大小 cookie:{name} : 通过指定name的cookie值进行session路由 header:{name} : 通过指定name的header值进行session路由 其中： cookie和header二选一 ttl: {session_timeout} :session 过期时间，默认600s， 如果配置，必须&gt;=1s，需配置在cookie 或者header之后 4.调用样例 4.1 添加动态upstream，并配置app_sticky。 配置动态upstream：&#xA;curl -X &#39;POST&#39; \ &#39;http://192.168.40.119:8081/api/v1/dyn_ups&#39; \ -H &#39;accept: */*&#39; \ -H &#39;Content-Type: application/json&#39; \ -d &#39;{ &#34;type&#34;: &#34;add&#34;, &#34;upstream_name&#34;: &#34;dyn_backend1&#34;, &#34;upstream_body&#34;: &#34;zone dyn_backend1 1m;app_sticky zone=app:4m cookie:route;&#34; }&#39; 返回</description>
    </item>
  </channel>
</rss>