This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch asf-site-v2
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git


The following commit(s) were added to refs/heads/asf-site-v2 by this push:
     new a54f23017f5 deploy: 3499c246b1f97d504fde5c36237d48c257634ae9
a54f23017f5 is described below

commit a54f23017f5c0aa597186edfe7d83033c9df7f6e
Author: Alanxtl <[email protected]>
AuthorDate: Sun Aug 9 05:47:58 2026 +0000

    deploy: 3499c246b1f97d504fde5c36237d48c257634ae9
---
 en/index.xml                                       |   2 +-
 .../golang-sdk/tutorial/observability/index.xml    |   2 +-
 .../tutorial/observability/probe/index.html        | 126 ++++++++++++++++-----
 en/sitemap.xml                                     |   2 +-
 sitemap.xml                                        |   2 +-
 zh-cn/index.xml                                    |   4 +-
 .../golang-sdk/tutorial/observability/index.xml    |   4 +-
 .../tutorial/observability/probe/index.html        | 126 ++++++++++++++++-----
 zh-cn/sitemap.xml                                  |   2 +-
 9 files changed, 201 insertions(+), 69 deletions(-)

diff --git a/en/index.xml b/en/index.xml
index 05d0c68fb33..95fe9382388 100644
--- a/en/index.xml
+++ b/en/index.xml
@@ -3405,7 +3405,7 @@ For 
example:&lt;/p&gt;</description></item><item><title>Dubbo SPI Plugins and De
 &lt;/ul&gt;
 &lt;p&gt;For a complete runnable example, see:&lt;/p&gt;
 &lt;blockquote&gt;
-&lt;p&gt;&lt;a 
href="https://github.com/apache/dubbo-go-samples/tree/main/metrics/probe"&gt;https://github.com/apache/dubbo-go-samples/tree/main/metrics/probe&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a 
href="https://github.com/apache/dubbo-go-samples/tree/main/observability/probe"&gt;https://github.com/apache/dubbo-go-samples/tree/main/observability/probe&lt;/a&gt;&lt;/p&gt;
 &lt;/blockquote&gt;
 &lt;hr&gt;
 &lt;h1 id="1-design-goals"&gt;1. Design Goals&lt;/h1&gt;
diff --git a/en/overview/mannual/golang-sdk/tutorial/observability/index.xml 
b/en/overview/mannual/golang-sdk/tutorial/observability/index.xml
index f1116d58111..8e141b30a33 100644
--- a/en/overview/mannual/golang-sdk/tutorial/observability/index.xml
+++ b/en/overview/mannual/golang-sdk/tutorial/observability/index.xml
@@ -49,7 +49,7 @@
 &lt;/ul&gt;
 &lt;p&gt;For a complete runnable example, see:&lt;/p&gt;
 &lt;blockquote&gt;
-&lt;p&gt;&lt;a 
href="https://github.com/apache/dubbo-go-samples/tree/main/metrics/probe"&gt;https://github.com/apache/dubbo-go-samples/tree/main/metrics/probe&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a 
href="https://github.com/apache/dubbo-go-samples/tree/main/observability/probe"&gt;https://github.com/apache/dubbo-go-samples/tree/main/observability/probe&lt;/a&gt;&lt;/p&gt;
 &lt;/blockquote&gt;
 &lt;hr&gt;
 &lt;h1 id="1-design-goals"&gt;1. Design Goals&lt;/h1&gt;
diff --git 
a/en/overview/mannual/golang-sdk/tutorial/observability/probe/index.html 
b/en/overview/mannual/golang-sdk/tutorial/observability/probe/index.html
index 0f5d990f559..13b0178d8af 100644
--- a/en/overview/mannual/golang-sdk/tutorial/observability/probe/index.html
+++ b/en/overview/mannual/golang-sdk/tutorial/observability/probe/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=alternate hreflang=zh-cn 
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/probe/><link
 rel=canonical 
href=https://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/probe/><script>var
 
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apache.org"])
 [...]
+<!doctype html><html lang=en class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=alternate hreflang=zh-cn 
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/probe/><link
 rel=canonical 
href=https://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/probe/><script>var
 
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apache.org"])
 [...]
 <a class=dropdown-item href=/en/overview/notices/>Security Notices</a>
 <a class=dropdown-item href=/en/contact/>Contributor's Guide</a></div></li><li 
class="nav-item nav-item-line px-2 mb-2 mb-lg-0"><a class=nav-link 
href=/en/blog/><span>Blog</span></a></li><li class="nav-item nav-item-line px-2 
mb-2 mb-lg-0"><a class=nav-link 
href=/en/download/><span>DOWNLOAD</span></a></li><li class="nav-item dropdown 
d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdown 
role=button data-toggle=dropdown aria-haspopup=true 
aria-expanded=false>ECOSYSTEM</ [...]
 <a class=dropdown-item 
href=/zh-cn/overview/mannual/control-plane/>Visualizable Console</a>
@@ -693,8 +693,8 @@
 <label for=m-enoverviewnoticesprotocol-check><a 
href=/en/overview/notices/protocol/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" id=m-enoverviewnoticesprotocol><span>RPC Protocol 
Security</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" id=m-enoverviewnoticesregistry-li><input 
type=checkbox id=m-enoverviewnoticesregistry-check>
 <label for=m-enoverviewnoticesregistry-check><a 
href=/en/overview/notices/registry/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" id=m-enoverviewnoticesregistry><span>Registry Center 
Security</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" id=m-enoverviewnoticesadmin-li><input 
type=checkbox id=m-enoverviewnoticesadmin-check>
 <label for=m-enoverviewnoticesadmin-check><a href=/en/overview/notices/admin/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-enoverviewnoticesadmin><span>Dubbo Admin 
Security</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" id=m-enoverviewnoticeslog4j-li><input 
type=checkbox id=m-enoverviewnoticeslog4j-check>
-<label for=m-enoverviewnoticeslog4j-check><a href=/en/overview/notices/log4j/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-enoverviewnoticeslog4j><span>Log4j Vulnerability 
Impact</span></a></label></li></ul></li></ul></li></ul></nav></div></div><main 
class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=/en/overview/>Documentation</a></li><li class=breadcrumb-item><a  [...]
-</span></span></code></pre></div><p>The following paths are 
available:</p><table><thead><tr><th>Endpoint</th><th>Description</th></tr></thead><tbody><tr><td>GET
 /live</td><td>Process liveness check</td></tr><tr><td>GET 
/ready</td><td>Service readiness check</td></tr><tr><td>GET 
/startup</td><td>Application startup check</td></tr></tbody></table><hr><h2 
id=response-rules>Response 
Rules</h2><table><thead><tr><th>Condition</th><th>HTTP Status 
Code</th></tr></thead><tbody><tr><td>All checks  [...]
+<label for=m-enoverviewnoticeslog4j-check><a href=/en/overview/notices/log4j/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-enoverviewnoticeslog4j><span>Log4j Vulnerability 
Impact</span></a></label></li></ul></li></ul></li></ul></nav></div></div><main 
class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=/en/overview/>Documentation</a></li><li class=breadcrumb-item><a  [...]
+</span></span></code></pre></div><p>The following paths are 
available:</p><table><thead><tr><th>Endpoint</th><th>Description</th></tr></thead><tbody><tr><td>GET
 /live</td><td>Process liveness check</td></tr><tr><td>GET 
/ready</td><td>Service readiness check</td></tr><tr><td>GET 
/startup</td><td>Application startup check</td></tr></tbody></table><hr><h2 
id=response-rules>Response 
Rules</h2><table><thead><tr><th>Condition</th><th>HTTP Status 
Code</th></tr></thead><tbody><tr><td>All checks  [...]
 </span></span><span style=display:flex><span>  dubbo.<span 
style=color:#268bd2>WithMetrics</span>(
 </span></span><span style=display:flex><span>    metrics.<span 
style=color:#268bd2>WithProbeEnabled</span>(),
 </span></span><span style=display:flex><span>    metrics.<span 
style=color:#268bd2>WithProbePort</span>(<span 
style=color:#2aa198>22222</span>),
@@ -704,7 +704,7 @@
 </span></span><span style=display:flex><span>    metrics.<span 
style=color:#268bd2>WithProbeUseInternalState</span>(<span 
style=color:#cb4b16>true</span>),
 </span></span><span style=display:flex><span>  ),
 </span></span><span style=display:flex><span>)
-</span></span></code></pre></div><hr><h2 id=available-options>Available 
Options</h2><table><thead><tr><th>Option</th><th>Description</th></tr></thead><tbody><tr><td>WithProbeEnabled()</td><td>Enable
 Probe</td></tr><tr><td>WithProbePort(int)</td><td>Set Probe HTTP 
port</td></tr><tr><td>WithProbeLivenessPath(string)</td><td>Set liveness 
path</td></tr><tr><td>WithProbeReadinessPath(string)</td><td>Set readiness 
path</td></tr><tr><td>WithProbeStartupPath(string)</td><td>Set startup 
path</td> [...]
+</span></span></code></pre></div><hr><h2 id=available-options>Available 
Options</h2><table><thead><tr><th>Option</th><th>Description</th></tr></thead><tbody><tr><td>WithProbeEnabled()</td><td>Enable
 Probe</td></tr><tr><td>WithProbePort(int)</td><td>Set Probe HTTP 
port</td></tr><tr><td>WithProbeLivenessPath(string)</td><td>Set liveness 
path</td></tr><tr><td>WithProbeReadinessPath(string)</td><td>Set readiness 
path</td></tr><tr><td>WithProbeStartupPath(string)</td><td>Set startup 
path</td> [...]
 </span></span><span style=display:flex><span>  <span 
style=color:#268bd2>probe</span>:
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>enabled</span>: <span style=color:#cb4b16>true</span>
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>port</span>: <span style=color:#2aa198>22222</span>
@@ -733,33 +733,99 @@
 </span></span><span style=display:flex><span>    <span style=color:#586e75>// 
check warmup completion</span>
 </span></span><span style=display:flex><span>    <span 
style=color:#719e07>return</span> <span style=color:#cb4b16>nil</span>
 </span></span><span style=display:flex><span>})
-</span></span></code></pre></div><hr><h2 id=execution-logic>Execution 
Logic</h2><ul><li>All registered checks will be executed.</li><li>If any check 
returns an error,</li><li>The probe returns HTTP 503.</li></ul><hr><h1 
id=6-semantic-recommendations>6. Semantic Recommendations</h1><h2 
id=liveness>Liveness</h2><p>Recommended usage:</p><ul><li>Detect process 
crashes</li><li>Detect fatal core dependency failure</li></ul><p>⚠️ Failure 
will trigger Pod restart.</p><hr><h2 id=readiness>Readine [...]
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>httpGet</span>:
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>path</span>: /live
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>port</span>: <span style=color:#2aa198>22222</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>initialDelaySeconds</span>: <span 
style=color:#2aa198>15</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>10</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>timeoutSeconds</span>: <span style=color:#2aa198>2</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>failureThreshold</span>: <span style=color:#2aa198>3</span>
+</span></span></code></pre></div><hr><h2 id=execution-logic>Execution 
Logic</h2><ul><li>All registered checks will be executed.</li><li>If any check 
returns an error,</li><li>The probe returns HTTP 503.</li></ul><hr><h1 
id=6-semantic-recommendations>6. Semantic Recommendations</h1><h2 
id=liveness>Liveness</h2><p>Recommended usage:</p><ul><li>Detect process 
crashes</li><li>Detect fatal core dependency failure</li></ul><p>⚠️ Failure 
will trigger Pod restart.</p><hr><h2 id=readiness>Readine [...]
+</span></span></code></pre></div><p>The script contents are:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span><span 
style=color:#719e07>#!/bin/bash
+</span></span></span><span style=display:flex><span><span 
style=color:#719e07></span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
Licensed to the Apache Software Foundation (ASF) under one or more</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
contributor license agreements.  See the NOTICE file distributed with</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  this 
work for additional information regarding copyright ownership.</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  The 
ASF licenses this file to You under the Apache License, Version 2.0</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  (the 
&#34;License&#34;); you may not use this file except in compliance with</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  the 
License.  You may obtain a copy of the License at</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#      
http://www.apache.org/licenses/LICENSE-2.0</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
Unless required by applicable law or agreed to in writing, software</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
distributed under the License is distributed on an &#34;AS IS&#34; BASIS,</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  See 
the License for the specific language governing permissions and</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
limitations under the License.</span>
 </span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span><span 
style=color:#268bd2>readinessProbe</span>:
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>httpGet</span>:
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>path</span>: /ready
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>port</span>: <span style=color:#2aa198>22222</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>initialDelaySeconds</span>: <span 
style=color:#2aa198>5</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>5</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>timeoutSeconds</span>: <span style=color:#2aa198>2</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>failureThreshold</span>: <span style=color:#2aa198>2</span>
+</span></span><span style=display:flex><span><span 
style=color:#b58900>set</span> -e
 </span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span><span 
style=color:#268bd2>startupProbe</span>:
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>httpGet</span>:
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>path</span>: /startup
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>port</span>: <span style=color:#2aa198>22222</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>5</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>timeoutSeconds</span>: <span style=color:#2aa198>2</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>failureThreshold</span>: <span 
style=color:#2aa198>25</span> <span style=color:#586e75># 120s startup budget 
=&gt; ceil(120 / 5) + 1</span>
-</span></span></code></pre></div><hr><h1 id=8-example-usage>8. Example 
Usage</h1><p>Example path:</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-fallback data-lang=fallback><span 
style=display:flex><span>metrics/probe/
-</span></span></code></pre></div><hr><h2 id=run-locally>Run Locally</h2><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>go run 
./metrics/probe/go-server/cmd/main.go
+</span></span><span style=display:flex><span><span 
style=color:#b58900>echo</span> <span style=color:#2aa198>&#34;Building probe 
server image...&#34;</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75># Build 
from repository root.</span>
+</span></span><span style=display:flex><span><span 
style=color:#b58900>cd</span> <span style=color:#2aa198>&#34;</span><span 
style=color:#719e07>$(</span>dirname <span 
style=color:#2aa198>&#34;</span><span style=color:#268bd2>$0</span><span 
style=color:#2aa198>&#34;</span><span style=color:#719e07>)</span><span 
style=color:#2aa198>/../../..&#34;</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75># Build 
linux binary first. This uses local `replace =&gt; ../dubbo-go` if 
present.</span>
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>TARGET_OS</span><span style=color:#719e07>=</span><span 
style=color:#2aa198>${</span><span style=color:#268bd2>TARGET_OS</span><span 
style=color:#719e07>:-</span><span style=color:#268bd2>linux</span><span 
style=color:#2aa198>}</span>
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>TARGET_ARCH</span><span style=color:#719e07>=</span><span 
style=color:#2aa198>${</span><span style=color:#268bd2>TARGET_ARCH</span><span 
style=color:#719e07>:-</span><span style=color:#268bd2>amd64</span><span 
style=color:#2aa198>}</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>CGO_ENABLED</span><span style=color:#719e07>=</span><span 
style=color:#2aa198>0</span> <span style=color:#268bd2>GOOS</span><span 
style=color:#719e07>=</span><span style=color:#2aa198>&#34;</span><span 
style=color:#268bd2>$TARGET_OS</span><span style=color:#2aa198>&#34;</span> 
<span style=color:#268bd2>GOARCH</span><span style=color:#719e07>=</span><span 
style=color:#2aa198>&#34;</span><span style=color:#268bd2>$TARGE [...]
+</span></span><span style=display:flex><span>docker build -f 
observability/probe/go-server/Dockerfile -t dubbo-go-probe-server:latest .
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span 
style=color:#b58900>echo</span> <span style=color:#2aa198>&#34;Build completed 
successfully.&#34;</span>
+</span></span></code></pre></div><p>If you use a local Minikube cluster, you 
can also load the image:</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>minikube 
image load dubbo-go-probe-server:latest
+</span></span></code></pre></div><p>The following complete Deployment is based 
on <a 
href=https://github.com/apache/dubbo-go-samples/blob/main/observability/probe/deploy/server-deployment.yml>server-deployment.yml</a>
 in dubbo-go-samples and configures liveness, readiness, and startup probes on 
the container:</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-yaml data-lang=yaml><span style=di [...]
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>kind</span>: Deployment
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>name</span>: dubbo-go-probe-server
+</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>labels</span>:
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>app</span>: dubbo-go-probe-server
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>replicas</span>: <span style=color:#2aa198>1</span>
+</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>selector</span>:
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>matchLabels</span>:
+</span></span><span style=display:flex><span>      <span 
style=color:#268bd2>app</span>: dubbo-go-probe-server
+</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>template</span>:
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>      <span 
style=color:#268bd2>labels</span>:
+</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>app</span>: dubbo-go-probe-server
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>      <span 
style=color:#268bd2>containers</span>:
+</span></span><span style=display:flex><span>        - <span 
style=color:#268bd2>name</span>: server
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>image</span>: dubbo-go-probe-server:latest
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>imagePullPolicy</span>: IfNotPresent
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>ports</span>:
+</span></span><span style=display:flex><span>            - <span 
style=color:#268bd2>containerPort</span>: <span style=color:#2aa198>20000</span>
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>name</span>: triple
+</span></span><span style=display:flex><span>            - <span 
style=color:#268bd2>containerPort</span>: <span style=color:#2aa198>22222</span>
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>name</span>: probe
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>livenessProbe</span>:
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>httpGet</span>:
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>path</span>: /live
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>port</span>: probe
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>initialDelaySeconds</span>: <span 
style=color:#2aa198>5</span>
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>10</span>
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>readinessProbe</span>:
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>httpGet</span>:
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>path</span>: /ready
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>port</span>: probe
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>initialDelaySeconds</span>: <span 
style=color:#2aa198>5</span>
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>5</span>
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>startupProbe</span>:
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>httpGet</span>:
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>path</span>: /startup
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>port</span>: probe
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>failureThreshold</span>: <span style=color:#2aa198>30</span>
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>1</span>
+</span></span></code></pre></div><hr><p>Deploy to Kubernetes:</p><p>Run the 
following commands from the dubbo-go-samples repository root:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>kubectl 
apply -f observability/probe/deploy/server-deployment.yml
+</span></span><span style=display:flex><span>kubectl rollout status 
deploy/dubbo-go-probe-server
+</span></span></code></pre></div><hr><h1 id=8-example-usage>8. Example 
Usage</h1><p>The example path and run commands below use the dubbo-go-samples 
repository root as their working directory.</p><p>Example path:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-fallback data-lang=fallback><span 
style=display:flex><span>observability/probe/
+</span></span></code></pre></div><hr><h2 id=run-locally>Run Locally</h2><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>go run 
./observability/probe/go-server/cmd/main.go
+</span></span></code></pre></div><hr><h2 id=verify-probes-with-curl>Verify 
Probes with curl</h2><p>After the service starts, you can request the three 
probe endpoints separately:</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span><span 
style=color:#586e75># liveness, expected 200</span>
+</span></span><span style=display:flex><span>curl -s -o /dev/null -w <span 
style=color:#2aa198>&#34;%{http_code}\n&#34;</span> http://127.0.0.1:22222/live
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75># 
readiness, expected 503 before the service is ready</span>
+</span></span><span style=display:flex><span>curl -s -o /dev/null -w <span 
style=color:#2aa198>&#34;%{http_code}\n&#34;</span> http://127.0.0.1:22222/ready
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75># 
startup, expected 503 before startup is complete</span>
+</span></span><span style=display:flex><span>curl -s -o /dev/null -w <span 
style=color:#2aa198>&#34;%{http_code}\n&#34;</span> 
http://127.0.0.1:22222/startup
+</span></span></code></pre></div><p>You can also inspect the response 
body:</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>curl -i 
http://127.0.0.1:22222/live
+</span></span><span style=display:flex><span>curl -i 
http://127.0.0.1:22222/ready
+</span></span><span style=display:flex><span>curl -i 
http://127.0.0.1:22222/startup
 </span></span></code></pre></div><hr><h2 
id=monitor-probe-status-in-real-time>Monitor Probe Status in Real Time</h2><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>watch -n 
<span style=color:#2aa198>1</span> <span style=color:#2aa198>&#39;
 </span></span></span><span style=display:flex><span><span 
style=color:#2aa198>for p in live ready startup; do
 </span></span></span><span style=display:flex><span><span style=color:#2aa198> 
 url=&#34;http://127.0.0.1:22222/$p&#34;
@@ -772,7 +838,7 @@
 </span></span></span><span style=display:flex><span><span 
style=color:#2aa198>&#39;</span>
 </span></span></code></pre></div><hr><h2 id=expected-behavior>Expected 
Behavior</h2><table><thead><tr><th>Phase</th><th>/live</th><th>/ready</th><th>/startup</th></tr></thead><tbody><tr><td>Just
 started</td><td>200</td><td>503</td><td>503</td></tr><tr><td>Warm-up 
phase</td><td>200</td><td>503</td><td>503</td></tr><tr><td>Warm-up 
complete</td><td>200</td><td>200</td><td>200</td></tr></tbody></table><hr><h1 
id=9-production-best-practices>9. Production Best Practices</h1><h2 
id=recommended- [...]
 </span></span></code></pre></div><h2 id=operational-guidance>Operational 
Guidance</h2><ul><li>Keep <code>liveness</code> simple and reserve it for 
failures that require a restart</li><li>Put service registry, database, Redis, 
and downstream RPC checks in <code>readiness</code></li><li>Let 
<code>startup</code> absorb slow initialization instead of inflating 
<code>liveness.initialDelaySeconds</code></li><li>In microservice clusters, 
enable <code>use-internal-state: true</code> and combine  [...]
-<button class="btn btn-primary mb-4 
feedback--no">No</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disable
 [...]
+<button class="btn btn-primary mb-4 
feedback--no">No</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disable
 [...]
 <button class="contact-btn qr-container" 
onmouseover='showQRCode("dingding-qr")' 
onmouseout='hideQRCode("dingding-qr")'>DINGTALK CHANNEL<div class=qr-code 
id=dingding-qr style=display:none><img 
src=https://img.alicdn.com/imgextra/i4/O1CN01buuadT274Lj33QZWQ_!!6000000007743-0-tps-1170-1477.jpg
 alt="DingTalk QR Code"></div></button>
 <button class=contact-btn><a 
href=https://github.com/apache/dubbo/>GitHub</a></button></div></div><div 
class=footer-container-right><ul><li>DOCUMENTATION</li><li><a 
href=/en/overview/>Overview</a></li><li><a href=/en/overview/quickstart/>Quick 
Start</a></li><li><a 
href=/en/contact/contributor/software-donation-guide_dev/>Developer 
guide</a></li></ul><ul><li>RESOURCES</li><li><a 
href=/en/contact/>Community</a></li></ul></div></div><div 
style="width:85.125rem;height:0;border:1px solid #ddd [...]
 project logo are either registered trademarks or trademarks of The Apache 
Software Foundation in the United States
diff --git a/en/sitemap.xml b/en/sitemap.xml
index d30ff7ca8c8..c57b5bf3e7d 100644
--- a/en/sitemap.xml
+++ b/en/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>https://dubbo.apache.org/en/blog/2023/01/16/alibaba-upgrades-dubbo3-to-fully-replace-hsf2/</loc><lastmod>2024-09-30T17:53:33+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link
 rel="alternate" hreflang="zh-cn" 
href="https://dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5
 [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>https://dubbo.apache.org/en/blog/2023/01/16/alibaba-upgrades-dubbo3-to-fully-replace-hsf2/</loc><lastmod>2024-09-30T17:53:33+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link
 rel="alternate" hreflang="zh-cn" 
href="https://dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5
 [...]
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index eab7894f143..61f6d0359f6 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9";><sitemap><loc>https://dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2026-08-09T13:24:26+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2026-08-09T13:24:26+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9";><sitemap><loc>https://dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2026-08-09T13:40:17+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2026-08-09T13:40:17+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh-cn/index.xml b/zh-cn/index.xml
index 62867ef55a8..16d8645e103 100644
--- a/zh-cn/index.xml
+++ b/zh-cn/index.xml
@@ -14167,7 +14167,7 @@ dubbo http服务需要传递 rest-service-version 和 
rest-service-group 两个h
 &lt;li&gt;可选内部生命周期对齐&lt;/li&gt;
 &lt;li&gt;可控的重启风险&lt;/li&gt;
 &lt;/ul&gt;
-&lt;p&gt;以下是一个具体的使用示例,可查看 &lt;a 
href="https://github.com/apache/dubbo-go-samples/tree/main/metrics/probe"&gt;示例完整源码&lt;/a&gt;。&lt;/p&gt;
+&lt;p&gt;以下是一个具体的使用示例,可查看 &lt;a 
href="https://github.com/apache/dubbo-go-samples/tree/main/observability/probe"&gt;示例完整源码&lt;/a&gt;。&lt;/p&gt;
 &lt;hr&gt;
 &lt;h1 id="一设计目标"&gt;一、设计目标&lt;/h1&gt;
 &lt;table&gt;
@@ -14245,7 +14245,7 @@ dubbo http服务需要传递 rest-service-version 和 
rest-service-group 两个h
 &lt;/table&gt;
 &lt;hr&gt;
 &lt;h1 id="三配置方式"&gt;三、配置方式&lt;/h1&gt;
-&lt;p&gt;Dubbo-Go 支持 &lt;strong&gt;New API(推荐)&lt;/strong&gt; 与 
&lt;strong&gt;Old API(YAML)&lt;/strong&gt; 
两种配置方式。&lt;/p&gt;</description></item><item><title>Dubbo Maven Plugin 
的配置方式</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config/maven-plugin/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config/maven-plugin/</guid><description>&lt;p&gt;本文主要讲解
 Dubbo Mav [...]
+&lt;p&gt;Dubbo-Go 支持 &lt;strong&gt;New API(推荐)&lt;/strong&gt; 与 
&lt;strong&gt;配置文件方式(YAML)&lt;/strong&gt; 
两种配置方式。&lt;/p&gt;</description></item><item><title>Dubbo Maven Plugin 
的配置方式</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config/maven-plugin/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config/maven-plugin/</guid><description>&lt;p&gt;本文主要讲解
 Dubbo Mave [...]
 &lt;p&gt;当前 Dubbo Maven Plugin 支持以下功能:&lt;/p&gt;
 &lt;ul&gt;
 &lt;li&gt;Dubbo Maven Plugin For Protobuf:生成 Dubbo 服务接口的 Stub 代码&lt;/li&gt;
diff --git a/zh-cn/overview/mannual/golang-sdk/tutorial/observability/index.xml 
b/zh-cn/overview/mannual/golang-sdk/tutorial/observability/index.xml
index c0b03fc0e79..8af1820d81c 100644
--- a/zh-cn/overview/mannual/golang-sdk/tutorial/observability/index.xml
+++ b/zh-cn/overview/mannual/golang-sdk/tutorial/observability/index.xml
@@ -104,7 +104,7 @@
 &lt;li&gt;可选内部生命周期对齐&lt;/li&gt;
 &lt;li&gt;可控的重启风险&lt;/li&gt;
 &lt;/ul&gt;
-&lt;p&gt;以下是一个具体的使用示例,可查看 &lt;a 
href="https://github.com/apache/dubbo-go-samples/tree/main/metrics/probe"&gt;示例完整源码&lt;/a&gt;。&lt;/p&gt;
+&lt;p&gt;以下是一个具体的使用示例,可查看 &lt;a 
href="https://github.com/apache/dubbo-go-samples/tree/main/observability/probe"&gt;示例完整源码&lt;/a&gt;。&lt;/p&gt;
 &lt;hr&gt;
 &lt;h1 id="一设计目标"&gt;一、设计目标&lt;/h1&gt;
 &lt;table&gt;
@@ -182,7 +182,7 @@
 &lt;/table&gt;
 &lt;hr&gt;
 &lt;h1 id="三配置方式"&gt;三、配置方式&lt;/h1&gt;
-&lt;p&gt;Dubbo-Go 支持 &lt;strong&gt;New API(推荐)&lt;/strong&gt; 与 
&lt;strong&gt;Old API(YAML)&lt;/strong&gt; 
两种配置方式。&lt;/p&gt;</description></item><item><title>链路追踪</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</guid><description>&lt;p&gt;Dubbo-go
 支持基于 &lt;a href="https://openteleme [...]
+&lt;p&gt;Dubbo-Go 支持 &lt;strong&gt;New API(推荐)&lt;/strong&gt; 与 
&lt;strong&gt;配置文件方式(YAML)&lt;/strong&gt; 
两种配置方式。&lt;/p&gt;</description></item><item><title>链路追踪</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</guid><description>&lt;p&gt;Dubbo-go
 支持基于 &lt;a href="https://opentelemet [...]
 &lt;ul&gt;
 &lt;li&gt;&lt;a 
href="https://opentelemetry.io/docs/specs/otel/logs/sdk_exporters/stdout/"&gt;Stdout
 exporter&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a 
href="https://opentelemetry.io/docs/languages/js/exporters/#jaeger"&gt;Jaeger 
exporter&lt;/a&gt;&lt;/li&gt;
diff --git 
a/zh-cn/overview/mannual/golang-sdk/tutorial/observability/probe/index.html 
b/zh-cn/overview/mannual/golang-sdk/tutorial/observability/probe/index.html
index c6ce9b4f6de..1869a448321 100644
--- a/zh-cn/overview/mannual/golang-sdk/tutorial/observability/probe/index.html
+++ b/zh-cn/overview/mannual/golang-sdk/tutorial/observability/probe/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=alternate hreflang=en 
href=https://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/probe/><link
 rel=canonical 
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/probe/><script>var
 
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apache.org"])
 [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=alternate hreflang=en 
href=https://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/probe/><link
 rel=canonical 
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/probe/><script>var
 
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apache.org"])
 [...]
 <a class=dropdown-item href=/zh-cn/overview/notices/>安全公告</a>
 <a class=dropdown-item href=/zh-cn/contact/>贡献者指南</a></div></li><li 
class="nav-item nav-item-line px-2 mb-2 mb-lg-0"><a class=nav-link 
href=/zh-cn/blog/><span>博客</span></a></li><li class="nav-item nav-item-line 
px-2 mb-2 mb-lg-0"><a class=nav-link 
href=/zh-cn/download/><span>下载</span></a></li><li class="nav-item dropdown 
d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdown 
role=button data-toggle=dropdown aria-haspopup=true 
aria-expanded=false>生态</a><div class="dropdo [...]
 <a class=dropdown-item href=/zh-cn/overview/mannual/control-plane/>可视化控制台</a>
@@ -688,8 +688,8 @@
 <label for=m-zh-cnoverviewnoticesprotocol-check><a 
href=/zh-cn/overview/notices/protocol/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" id=m-zh-cnoverviewnoticesprotocol><span>RPC 
协议安全</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewnoticesregistry-li><input type=checkbox 
id=m-zh-cnoverviewnoticesregistry-check>
 <label for=m-zh-cnoverviewnoticesregistry-check><a 
href=/zh-cn/overview/notices/registry/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" 
id=m-zh-cnoverviewnoticesregistry><span>注册中心安全</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewnoticesadmin-li><input type=checkbox 
id=m-zh-cnoverviewnoticesadmin-check>
 <label for=m-zh-cnoverviewnoticesadmin-check><a 
href=/zh-cn/overview/notices/admin/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" id=m-zh-cnoverviewnoticesadmin><span>Dubbo Admin 
安全</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" id=m-zh-cnoverviewnoticeslog4j-li><input 
type=checkbox id=m-zh-cnoverviewnoticeslog4j-check>
-<label for=m-zh-cnoverviewnoticeslog4j-check><a 
href=/zh-cn/overview/notices/log4j/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" id=m-zh-cnoverviewnoticeslog4j><span>Log4j 
漏洞影响</span></a></label></li></ul></li></ul></li></ul></nav></div></div><main 
class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=/zh-cn/overview/>文档</a></li><li class=breadcrumb-item><a href=/zh-cn/ove 
[...]
-</span></span></code></pre></div><p>暴露以下路径:</p><table><thead><tr><th>Endpoint</th><th>说明</th></tr></thead><tbody><tr><td>GET
 /live</td><td>进程存活检查</td></tr><tr><td>GET 
/ready</td><td>服务就绪检查</td></tr><tr><td>GET 
/startup</td><td>启动阶段检查</td></tr></tbody></table><hr><h2 
id=响应规则>响应规则</h2><table><thead><tr><th>条件</th><th>HTTP 
状态码</th></tr></thead><tbody><tr><td>所有检查通过</td><td>200</td></tr><tr><td>任意检查失败</td><td>503</td></tr></tbody></table><hr><h1
 id=三配置方式>三、配置方式</h1><p>Dubbo-Go 支持 <strong>New [...]
+<label for=m-zh-cnoverviewnoticeslog4j-check><a 
href=/zh-cn/overview/notices/log4j/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" id=m-zh-cnoverviewnoticeslog4j><span>Log4j 
漏洞影响</span></a></label></li></ul></li></ul></li></ul></nav></div></div><main 
class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=/zh-cn/overview/>文档</a></li><li class=breadcrumb-item><a href=/zh-cn/ove 
[...]
+</span></span></code></pre></div><p>暴露以下路径:</p><table><thead><tr><th>Endpoint</th><th>说明</th></tr></thead><tbody><tr><td>GET
 /live</td><td>进程存活检查</td></tr><tr><td>GET 
/ready</td><td>服务就绪检查</td></tr><tr><td>GET 
/startup</td><td>启动阶段检查</td></tr></tbody></table><hr><h2 
id=响应规则>响应规则</h2><table><thead><tr><th>条件</th><th>HTTP 
状态码</th></tr></thead><tbody><tr><td>所有检查通过</td><td>200</td></tr><tr><td>任意检查失败</td><td>503</td></tr></tbody></table><hr><h1
 id=三配置方式>三、配置方式</h1><p>Dubbo-Go 支持 <strong>New [...]
 </span></span><span style=display:flex><span>  dubbo.<span 
style=color:#268bd2>WithMetrics</span>(
 </span></span><span style=display:flex><span>    metrics.<span 
style=color:#268bd2>WithProbeEnabled</span>(),
 </span></span><span style=display:flex><span>    metrics.<span 
style=color:#268bd2>WithProbePort</span>(<span 
style=color:#2aa198>22222</span>),
@@ -699,7 +699,7 @@
 </span></span><span style=display:flex><span>    metrics.<span 
style=color:#268bd2>WithProbeUseInternalState</span>(<span 
style=color:#cb4b16>true</span>),
 </span></span><span style=display:flex><span>  ),
 </span></span><span style=display:flex><span>)
-</span></span></code></pre></div><hr><h2 id=可用-option>可用 
Option</h2><table><thead><tr><th>Option</th><th>说明</th></tr></thead><tbody><tr><td>WithProbeEnabled()</td><td>启用
 Probe</td></tr><tr><td>WithProbePort(int)</td><td>设置 Probe 
端口</td></tr><tr><td>WithProbeLivenessPath(string)</td><td>设置 liveness 
路径</td></tr><tr><td>WithProbeReadinessPath(string)</td><td>设置 readiness 
路径</td></tr><tr><td>WithProbeStartupPath(string)</td><td>设置 startup 
路径</td></tr><tr><td>WithProbeUseInternalState(bool)</ [...]
+</span></span></code></pre></div><hr><h2 id=可用-option>可用 
Option</h2><table><thead><tr><th>Option</th><th>说明</th></tr></thead><tbody><tr><td>WithProbeEnabled()</td><td>启用
 Probe</td></tr><tr><td>WithProbePort(int)</td><td>设置 Probe 
端口</td></tr><tr><td>WithProbeLivenessPath(string)</td><td>设置 liveness 
路径</td></tr><tr><td>WithProbeReadinessPath(string)</td><td>设置 readiness 
路径</td></tr><tr><td>WithProbeStartupPath(string)</td><td>设置 startup 
路径</td></tr><tr><td>WithProbeUseInternalState(bool)</ [...]
 </span></span><span style=display:flex><span>  <span 
style=color:#268bd2>probe</span>:
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>enabled</span>: <span style=color:#cb4b16>true</span>
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>port</span>: <span style=color:#2aa198>22222</span>
@@ -728,33 +728,99 @@
 </span></span><span style=display:flex><span>    <span style=color:#586e75>// 
check warmup completion</span>
 </span></span><span style=display:flex><span>    <span 
style=color:#719e07>return</span> <span style=color:#cb4b16>nil</span>
 </span></span><span style=display:flex><span>})
-</span></span></code></pre></div><hr><h2 
id=执行逻辑>执行逻辑</h2><ul><li>所有注册的检查函数都会执行</li><li>只要有一个返回 error</li><li>Probe 返回 
503</li></ul><hr><h1 id=六语义建议>六、语义建议</h1><h2 
id=liveness>Liveness</h2><ul><li><p>建议仅用于:</p><ul><li>进程是否崩溃</li><li>核心依赖是否彻底不可用</li></ul></li></ul><p>⚠️
 失败会触发 Pod 重启。</p><hr><h2 
id=readiness>Readiness</h2><ul><li><p>可绑定:</p><ul><li>注册中心状态</li><li>数据库</li><li>Redis</li><li>下游
 RPC</li><li>本地缓存</li></ul></li></ul><p>用于控制流量是否进入。</p><hr><h2 
id=startup>Startup</h2><ul><li><p>用于: [...]
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>httpGet</span>:
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>path</span>: /live
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>port</span>: <span style=color:#2aa198>22222</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>initialDelaySeconds</span>: <span 
style=color:#2aa198>15</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>10</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>timeoutSeconds</span>: <span style=color:#2aa198>2</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>failureThreshold</span>: <span style=color:#2aa198>3</span>
+</span></span></code></pre></div><hr><h2 
id=执行逻辑>执行逻辑</h2><ul><li>所有注册的检查函数都会执行</li><li>只要有一个返回 error</li><li>Probe 返回 
503</li></ul><hr><h1 id=六语义建议>六、语义建议</h1><h2 
id=liveness>Liveness</h2><ul><li><p>建议仅用于:</p><ul><li>进程是否崩溃</li><li>核心依赖是否彻底不可用</li></ul></li></ul><p>⚠️
 失败会触发 Pod 重启。</p><hr><h2 
id=readiness>Readiness</h2><ul><li><p>可绑定:</p><ul><li>注册中心状态</li><li>数据库</li><li>Redis</li><li>下游
 RPC</li><li>本地缓存</li></ul></li></ul><p>用于控制流量是否进入。</p><hr><h2 
id=startup>Startup</h2><ul><li><p>用于: [...]
+</span></span></code></pre></div><p>脚本内容如下:</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span><span 
style=color:#719e07>#!/bin/bash
+</span></span></span><span style=display:flex><span><span 
style=color:#719e07></span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
Licensed to the Apache Software Foundation (ASF) under one or more</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
contributor license agreements.  See the NOTICE file distributed with</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  this 
work for additional information regarding copyright ownership.</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  The 
ASF licenses this file to You under the Apache License, Version 2.0</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  (the 
&#34;License&#34;); you may not use this file except in compliance with</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  the 
License.  You may obtain a copy of the License at</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#      
http://www.apache.org/licenses/LICENSE-2.0</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
Unless required by applicable law or agreed to in writing, software</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
distributed under the License is distributed on an &#34;AS IS&#34; BASIS,</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  See 
the License for the specific language governing permissions and</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>#  
limitations under the License.</span>
 </span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span><span 
style=color:#268bd2>readinessProbe</span>:
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>httpGet</span>:
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>path</span>: /ready
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>port</span>: <span style=color:#2aa198>22222</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>initialDelaySeconds</span>: <span 
style=color:#2aa198>5</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>5</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>timeoutSeconds</span>: <span style=color:#2aa198>2</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>failureThreshold</span>: <span style=color:#2aa198>2</span>
+</span></span><span style=display:flex><span><span 
style=color:#b58900>set</span> -e
 </span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span><span 
style=color:#268bd2>startupProbe</span>:
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>httpGet</span>:
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>path</span>: /startup
-</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>port</span>: <span style=color:#2aa198>22222</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>5</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>timeoutSeconds</span>: <span style=color:#2aa198>2</span>
-</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>failureThreshold</span>: <span 
style=color:#2aa198>25</span> <span style=color:#586e75># 120 秒启动预算 =&gt; 
ceil(120 / 5) + 1</span>
-</span></span></code></pre></div><hr><h1 
id=八示例运行说明>八、示例运行说明</h1><p>示例路径:</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-fallback data-lang=fallback><span 
style=display:flex><span>metrics/probe/
-</span></span></code></pre></div><hr><h2 id=本地运行>本地运行</h2><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>go run 
./metrics/probe/go-server/cmd/main.go
+</span></span><span style=display:flex><span><span 
style=color:#b58900>echo</span> <span style=color:#2aa198>&#34;Building probe 
server image...&#34;</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75># Build 
from repository root.</span>
+</span></span><span style=display:flex><span><span 
style=color:#b58900>cd</span> <span style=color:#2aa198>&#34;</span><span 
style=color:#719e07>$(</span>dirname <span 
style=color:#2aa198>&#34;</span><span style=color:#268bd2>$0</span><span 
style=color:#2aa198>&#34;</span><span style=color:#719e07>)</span><span 
style=color:#2aa198>/../../..&#34;</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75># Build 
linux binary first. This uses local `replace =&gt; ../dubbo-go` if 
present.</span>
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>TARGET_OS</span><span style=color:#719e07>=</span><span 
style=color:#2aa198>${</span><span style=color:#268bd2>TARGET_OS</span><span 
style=color:#719e07>:-</span><span style=color:#268bd2>linux</span><span 
style=color:#2aa198>}</span>
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>TARGET_ARCH</span><span style=color:#719e07>=</span><span 
style=color:#2aa198>${</span><span style=color:#268bd2>TARGET_ARCH</span><span 
style=color:#719e07>:-</span><span style=color:#268bd2>amd64</span><span 
style=color:#2aa198>}</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>CGO_ENABLED</span><span style=color:#719e07>=</span><span 
style=color:#2aa198>0</span> <span style=color:#268bd2>GOOS</span><span 
style=color:#719e07>=</span><span style=color:#2aa198>&#34;</span><span 
style=color:#268bd2>$TARGET_OS</span><span style=color:#2aa198>&#34;</span> 
<span style=color:#268bd2>GOARCH</span><span style=color:#719e07>=</span><span 
style=color:#2aa198>&#34;</span><span style=color:#268bd2>$TARGE [...]
+</span></span><span style=display:flex><span>docker build -f 
observability/probe/go-server/Dockerfile -t dubbo-go-probe-server:latest .
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span 
style=color:#b58900>echo</span> <span style=color:#2aa198>&#34;Build completed 
successfully.&#34;</span>
+</span></span></code></pre></div><p>如果使用 Minikube 本地集群,可以再执行:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>minikube 
image load dubbo-go-probe-server:latest
+</span></span></code></pre></div><p>以下是一个完整的 Deployment 示例,参考自 <a 
href=https://github.com/apache/dubbo-go-samples/blob/main/observability/probe/deploy/server-deployment.yml>dubbo-go-samples
 的 server-deployment.yml</a>,将 liveness、readiness、startup 三类探针配置在容器上:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-yaml data-lang=yaml><span style=display:flex><span><span 
style=color:#268bd2>apiVersio [...]
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>kind</span>: Deployment
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>name</span>: dubbo-go-probe-server
+</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>labels</span>:
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>app</span>: dubbo-go-probe-server
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>replicas</span>: <span style=color:#2aa198>1</span>
+</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>selector</span>:
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>matchLabels</span>:
+</span></span><span style=display:flex><span>      <span 
style=color:#268bd2>app</span>: dubbo-go-probe-server
+</span></span><span style=display:flex><span>  <span 
style=color:#268bd2>template</span>:
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>      <span 
style=color:#268bd2>labels</span>:
+</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>app</span>: dubbo-go-probe-server
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>      <span 
style=color:#268bd2>containers</span>:
+</span></span><span style=display:flex><span>        - <span 
style=color:#268bd2>name</span>: server
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>image</span>: dubbo-go-probe-server:latest
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>imagePullPolicy</span>: IfNotPresent
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>ports</span>:
+</span></span><span style=display:flex><span>            - <span 
style=color:#268bd2>containerPort</span>: <span style=color:#2aa198>20000</span>
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>name</span>: triple
+</span></span><span style=display:flex><span>            - <span 
style=color:#268bd2>containerPort</span>: <span style=color:#2aa198>22222</span>
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>name</span>: probe
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>livenessProbe</span>:
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>httpGet</span>:
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>path</span>: /live
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>port</span>: probe
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>initialDelaySeconds</span>: <span 
style=color:#2aa198>5</span>
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>10</span>
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>readinessProbe</span>:
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>httpGet</span>:
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>path</span>: /ready
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>port</span>: probe
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>initialDelaySeconds</span>: <span 
style=color:#2aa198>5</span>
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>5</span>
+</span></span><span style=display:flex><span>          <span 
style=color:#268bd2>startupProbe</span>:
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>httpGet</span>:
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>path</span>: /startup
+</span></span><span style=display:flex><span>              <span 
style=color:#268bd2>port</span>: probe
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>failureThreshold</span>: <span style=color:#2aa198>30</span>
+</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>periodSeconds</span>: <span style=color:#2aa198>1</span>
+</span></span></code></pre></div><hr><p>部署到 Kubernetes:</p><p>在 
dubbo-go-samples 仓库根目录执行:</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>kubectl 
apply -f observability/probe/deploy/server-deployment.yml
+</span></span><span style=display:flex><span>kubectl rollout status 
deploy/dubbo-go-probe-server
+</span></span></code></pre></div><hr><h1 
id=八示例运行说明>八、示例运行说明</h1><p>示例路径和运行命令均以 dubbo-go-samples 
仓库根目录为基准。</p><p>示例路径:</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-fallback data-lang=fallback><span 
style=display:flex><span>observability/probe/
+</span></span></code></pre></div><hr><h2 id=本地运行>本地运行</h2><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>go run 
./observability/probe/go-server/cmd/main.go
+</span></span></code></pre></div><hr><h2 id=使用-curl-验证探针>使用 curl 
验证探针</h2><p>服务启动后,可以分别请求三个探针端点:</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span><span 
style=color:#586e75># liveness,预期 200</span>
+</span></span><span style=display:flex><span>curl -s -o /dev/null -w <span 
style=color:#2aa198>&#34;%{http_code}\n&#34;</span> http://127.0.0.1:22222/live
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75># 
readiness,未就绪时预期 503</span>
+</span></span><span style=display:flex><span>curl -s -o /dev/null -w <span 
style=color:#2aa198>&#34;%{http_code}\n&#34;</span> http://127.0.0.1:22222/ready
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75># 
startup,未启动完成时预期 503</span>
+</span></span><span style=display:flex><span>curl -s -o /dev/null -w <span 
style=color:#2aa198>&#34;%{http_code}\n&#34;</span> 
http://127.0.0.1:22222/startup
+</span></span></code></pre></div><p>也可以直接查看响应体:</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>curl -i 
http://127.0.0.1:22222/live
+</span></span><span style=display:flex><span>curl -i 
http://127.0.0.1:22222/ready
+</span></span><span style=display:flex><span>curl -i 
http://127.0.0.1:22222/startup
 </span></span></code></pre></div><hr><h2 id=实时观察-probe-状态>实时观察 Probe 
状态</h2><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>watch -n 
<span style=color:#2aa198>1</span> <span style=color:#2aa198>&#39;
 </span></span></span><span style=display:flex><span><span 
style=color:#2aa198>for p in live ready startup; do
 </span></span></span><span style=display:flex><span><span style=color:#2aa198> 
 url=&#34;http://127.0.0.1:22222/$p&#34;
@@ -767,7 +833,7 @@
 </span></span></span><span style=display:flex><span><span 
style=color:#2aa198>&#39;</span>
 </span></span></code></pre></div><hr><h2 
id=预期行为>预期行为</h2><table><thead><tr><th>阶段</th><th>/live</th><th>/ready</th><th>/startup</th></tr></thead><tbody><tr><td>刚启动</td><td>200</td><td>503</td><td>503</td></tr><tr><td>预热阶段</td><td>200</td><td>503</td><td>503</td></tr><tr><td>预热完成</td><td>200</td><td>200</td><td>200</td></tr></tbody></table><hr><h1
 id=九生产最佳实践>九、生产最佳实践</h1><h2 id=推荐参数起点>推荐参数起点</h2><table><thead><tr><th>Probe 
类型</th><th>推荐值</th><th>说明</th></tr></thead><tbody><tr><td>livenes [...]
 </span></span></code></pre></div><h2 
id=落地建议>落地建议</h2><ul><li><code>liveness</code> 
保持简单,只检测“必须重启才能恢复”的故障</li><li><code>readiness</code> 绑定注册中心、数据库、Redis、下游 RPC 
等波动依赖</li><li><code>startup</code> 单独承担慢启动保护,避免把大 
<code>initialDelaySeconds</code> 堆到 <code>liveness</code> 上</li><li>微服务集群建议开启 
<code>use-internal-state: true</code>,再结合 <code>probe.SetReady(...)</code> 
做主动摘流</li></ul><div id=pre-footer><h2>反馈</h2><p 
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 
feedbac [...]
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <button class="contact-btn qr-container" 
onmouseover='showQRCode("dingding-qr")' 
onmouseout='hideQRCode("dingding-qr")'>钉钉<div class=qr-code id=dingding-qr 
style=display:none><img 
src=https://img.alicdn.com/imgextra/i4/O1CN01buuadT274Lj33QZWQ_!!6000000007743-0-tps-1170-1477.jpg
 alt="DingTalk QR Code"></div></button>
 <button class=contact-btn><a 
href=https://github.com/apache/dubbo/>GitHub</a></button></div></div><div 
class=footer-container-right><ul><li>文档</li><li><a 
href=/zh-cn/overview/home/>概览</a></li><li><a 
href=/zh-cn/overview/quickstart/>快速开始</a></li><li><a 
href=/zh-cn/contact/contributor/software-donation-guide_dev/>开发者指南</a></li></ul><ul><li>资源</li><li><a
 href=/zh-cn/contact/>社区</a></li></ul></div></div><div 
style="width:85.125rem;height:0;border:1px solid 
#dddee4;margin-bottom:32px"></div>< [...]
 project logo are either registered trademarks or trademarks of The Apache 
Software Foundation in the United States
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 99798bf67e7..70fc9dda93f 100644
--- a/zh-cn/sitemap.xml
+++ b/zh-cn/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>https://dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-11-28T15:14:12+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link
 rel="alternate" hreflang="en" href="https://dubbo.apach [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>https://dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-11-28T15:14:12+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link
 rel="alternate" hreflang="en" href="https://dubbo.apach [...]
\ No newline at end of file

Reply via email to