Merge branch 'master' into feat/native_samples
diff --git a/1-basic/dubbo-samples-annotation/pom.xml b/1-basic/dubbo-samples-annotation/pom.xml
index 531f432..6cd3e1d 100644
--- a/1-basic/dubbo-samples-annotation/pom.xml
+++ b/1-basic/dubbo-samples-annotation/pom.xml
@@ -33,10 +33,11 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
+        <zookeeper_version>3.8.0</zookeeper_version>
     </properties>
 
     <dependencyManagement>
@@ -61,6 +62,13 @@
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -88,6 +96,40 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/1-basic/dubbo-samples-api/pom.xml b/1-basic/dubbo-samples-api/pom.xml
index 68cbba6..52fe0a9 100644
--- a/1-basic/dubbo-samples-api/pom.xml
+++ b/1-basic/dubbo-samples-api/pom.xml
@@ -36,7 +36,7 @@
     <description>Dubbo Samples Api</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit5.version>5.9.2</junit5.version>
     </properties>
 
diff --git a/1-basic/dubbo-samples-spring-boot/dubbo-samples-spring-boot-consumer/pom.xml b/1-basic/dubbo-samples-spring-boot/dubbo-samples-spring-boot-consumer/pom.xml
index 6d1a50c..6da5716 100644
--- a/1-basic/dubbo-samples-spring-boot/dubbo-samples-spring-boot-consumer/pom.xml
+++ b/1-basic/dubbo-samples-spring-boot/dubbo-samples-spring-boot-consumer/pom.xml
@@ -40,7 +40,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/1-basic/dubbo-samples-spring-boot/pom.xml b/1-basic/dubbo-samples-spring-boot/pom.xml
index 6d4934a..326c571 100644
--- a/1-basic/dubbo-samples-spring-boot/pom.xml
+++ b/1-basic/dubbo-samples-spring-boot/pom.xml
@@ -37,7 +37,7 @@
     <description>Dubbo Samples Spring Boot</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring-boot.version>2.7.8</spring-boot.version>
         <maven.compiler.source>1.8</maven.compiler.source>
diff --git a/1-basic/dubbo-samples-spring-xml/pom.xml b/1-basic/dubbo-samples-spring-xml/pom.xml
index ba133ec..f489b96 100644
--- a/1-basic/dubbo-samples-spring-xml/pom.xml
+++ b/1-basic/dubbo-samples-spring-xml/pom.xml
@@ -37,7 +37,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>5.3.25</spring.version>
         <junit.version>4.13.1</junit.version>
     </properties>
diff --git a/10-task/dubbo-samples-develop/dubbo-samples-develop-consumer/pom.xml b/10-task/dubbo-samples-develop/dubbo-samples-develop-consumer/pom.xml
index 4307fb9..ec63ca8 100644
--- a/10-task/dubbo-samples-develop/dubbo-samples-develop-consumer/pom.xml
+++ b/10-task/dubbo-samples-develop/dubbo-samples-develop-consumer/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
@@ -73,4 +73,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/10-task/dubbo-samples-develop/dubbo-samples-develop-provider/pom.xml b/10-task/dubbo-samples-develop/dubbo-samples-develop-provider/pom.xml
index 611fed0..8f80247 100644
--- a/10-task/dubbo-samples-develop/dubbo-samples-develop-provider/pom.xml
+++ b/10-task/dubbo-samples-develop/dubbo-samples-develop-provider/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
@@ -73,4 +73,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-filter-consumer/pom.xml b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-filter-consumer/pom.xml
index f307fd2..f1c1eff 100644
--- a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-filter-consumer/pom.xml
+++ b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-filter-consumer/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
@@ -105,4 +105,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-filter-provider/pom.xml b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-filter-provider/pom.xml
index d8a918e..7669af7 100644
--- a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-filter-provider/pom.xml
+++ b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-filter-provider/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
@@ -104,4 +104,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-common/pom.xml b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-common/pom.xml
index bcaa652..9cdfab5 100644
--- a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-common/pom.xml
+++ b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-common/pom.xml
@@ -34,7 +34,7 @@
     <description>Dubbo Extensibility Protocol Task - Common</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
     </properties>
 
     <dependencies>
@@ -46,4 +46,4 @@
         </dependency>
 
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-consumer/pom.xml b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-consumer/pom.xml
index 78a8243..d96c254 100644
--- a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-consumer/pom.xml
+++ b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-consumer/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
@@ -111,4 +111,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-provider/pom.xml b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-provider/pom.xml
index e62d15c..f440b65 100644
--- a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-provider/pom.xml
+++ b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-protocol-provider/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
@@ -111,4 +111,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-router-consumer/pom.xml b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-router-consumer/pom.xml
index 061bcfd..50c7295 100644
--- a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-router-consumer/pom.xml
+++ b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-router-consumer/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
@@ -105,4 +105,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-router-provider/pom.xml b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-router-provider/pom.xml
index 7480085..d6ee5bc 100644
--- a/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-router-provider/pom.xml
+++ b/10-task/dubbo-samples-extensibility/dubbo-samples-extensibility-router-provider/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
@@ -104,4 +104,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/10-task/dubbo-samples-metrics-demo/deploy/All.yml b/10-task/dubbo-samples-metrics-demo/deploy/All.yml
new file mode 100644
index 0000000..ca0f075
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/deploy/All.yml
@@ -0,0 +1,626 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Namespace
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: dubbo-shop
+
+---
+
+# Nacos
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: nacos
+  namespace: dubbo-system
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: nacos
+  template:
+    metadata:
+      labels:
+        app: nacos
+    spec:
+      containers:
+        - name: consumer
+          image: nacos/nacos-server:v2.2.0
+          imagePullPolicy: Always
+          resources:
+            requests:
+              memory: "2Gi"
+              cpu: "500m"
+          ports:
+            - containerPort: 8848
+              name: client
+            - containerPort: 9848
+              name: client-rpc
+          env:
+            - name: NACOS_SERVER_PORT
+              value: "8848"
+            - name: NACOS_APPLICATION_PORT
+              value: "8848"
+            - name: PREFER_HOST_MODE
+              value: "hostname"
+            - name: MODE
+              value: "standalone"
+            - name: NACOS_AUTH_ENABLE
+              value: "true"
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: nacos
+  namespace: dubbo-system
+spec:
+  type: ClusterIP
+  sessionAffinity: None
+  selector:
+    app: nacos
+  ports:
+    - port: 8848
+      name: server
+      targetPort: 8848
+    - port: 9848
+      name: client-rpc
+      targetPort: 9848
+---
+
+# App FrontEnd
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: shop-frontend
+  namespace: dubbo-shop
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: shop-frontend
+  template:
+    metadata:
+      labels:
+        app: shop-frontend
+      annotations:
+        prometheus.io/scrape: "true"
+        prometheus.io/path: /metrics
+        prometheus.io/port: "22222"
+    spec:
+      volumes:
+        - name: skywalking-agent
+          emptyDir: { }
+
+      initContainers:
+        - name: agent-container
+          image: apache/skywalking-java-agent:8.13.0-java17
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /agent
+          command: [ "/bin/sh" ]
+          args: [ "-c", "cp -R /skywalking/agent /agent/" ]
+
+      containers:
+        - name: shop-frontend
+          image: albumen/dubbo-demo:dubbo-samples-metrics-demo-frontend_0.0.1
+          imagePullPolicy: Always
+          ports:
+            - name: dubbo
+              containerPort: 20881
+              protocol: TCP
+            - name: dubbo-qos
+              containerPort: 20991
+              protocol: TCP
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /skywalking
+          env:
+            - name: JAVA_TOOL_OPTIONS
+              value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
+            - name: SW_AGENT_NAME
+              value: shop::shop-frontend
+            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
+              value: "skywalking-oap.dubbo-system.svc:11800"
+          startupProbe:
+            httpGet:
+              port: 22222
+              path: /startup
+            initialDelaySeconds: 10
+            periodSeconds: 1
+            timeoutSeconds: 1
+            failureThreshold: 300
+            successThreshold: 1
+---
+
+# App Order V1-1
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: shop-order-v1
+  namespace: dubbo-shop
+spec:
+  replicas: 2
+  selector:
+    matchLabels:
+      app: shop-order
+      orderVersion: v1
+  template:
+    metadata:
+      labels:
+        app: shop-order
+        orderVersion: v1
+      annotations:
+        prometheus.io/scrape: "true"
+        prometheus.io/path: /metrics
+        prometheus.io/port: "22222"
+    spec:
+      volumes:
+        - name: skywalking-agent
+          emptyDir: { }
+
+      initContainers:
+        - name: agent-container
+          image: apache/skywalking-java-agent:8.13.0-java17
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /agent
+          command: [ "/bin/sh" ]
+          args: [ "-c", "cp -R /skywalking/agent /agent/" ]
+
+      containers:
+        - name: shop-order
+          image: albumen/dubbo-demo:dubbo-samples-metrics-demo-order_v1_0.0.1
+          imagePullPolicy: Always
+          ports:
+            - name: dubbo
+              containerPort: 20882
+              protocol: TCP
+            - name: dubbo-qos
+              containerPort: 20992
+              protocol: TCP
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /skywalking
+          env:
+            - name: JAVA_TOOL_OPTIONS
+              value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
+            - name: SW_AGENT_NAME
+              value: shop::shop-order
+            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
+              value: "skywalking-oap.dubbo-system.svc:11800"
+            - name: DUBBO_LABELS
+              value: "orderVersion=v1"
+          startupProbe:
+            httpGet:
+              port: 22222
+              path: /startup
+            initialDelaySeconds: 10
+            periodSeconds: 1
+            timeoutSeconds: 1
+            failureThreshold: 300
+            successThreshold: 1
+---
+
+# App Order V2
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: shop-order-v2
+  namespace: dubbo-shop
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      app: shop-order
+      orderVersion: v2
+  template:
+    metadata:
+      labels:
+        app: shop-order
+        orderVersion: v2
+      annotations:
+        prometheus.io/scrape: "true"
+        prometheus.io/path: /metrics
+        prometheus.io/port: "22222"
+    spec:
+      volumes:
+        - name: skywalking-agent
+          emptyDir: { }
+
+      initContainers:
+        - name: agent-container
+          image: apache/skywalking-java-agent:8.13.0-java17
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /agent
+          command: [ "/bin/sh" ]
+          args: [ "-c", "cp -R /skywalking/agent /agent/" ]
+
+      containers:
+        - name: shop-order
+          image: albumen/dubbo-demo:dubbo-samples-metrics-demo-order_v2_0.0.1
+          imagePullPolicy: Always
+          ports:
+            - name: dubbo
+              containerPort: 20883
+              protocol: TCP
+            - name: dubbo-qos
+              containerPort: 20993
+              protocol: TCP
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /skywalking
+          env:
+            - name: JAVA_TOOL_OPTIONS
+              value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
+            - name: SW_AGENT_NAME
+              value: shop::shop-order
+            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
+              value: "skywalking-oap.dubbo-system.svc:11800"
+            - name: DUBBO_LABELS
+              value: "orderVersion=v2;"
+          startupProbe:
+            httpGet:
+              port: 22222
+              path: /startup
+            initialDelaySeconds: 10
+            periodSeconds: 1
+            timeoutSeconds: 1
+            failureThreshold: 300
+            successThreshold: 1
+---
+
+# App User
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: shop-user
+  namespace: dubbo-shop
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      app: shop-user
+  template:
+    metadata:
+      labels:
+        app: shop-user
+      annotations:
+        prometheus.io/scrape: "true"
+        prometheus.io/path: /metrics
+        prometheus.io/port: "22222"
+    spec:
+      volumes:
+        - name: skywalking-agent
+          emptyDir: { }
+
+      initContainers:
+        - name: agent-container
+          image: apache/skywalking-java-agent:8.13.0-java17
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /agent
+          command: [ "/bin/sh" ]
+          args: [ "-c", "cp -R /skywalking/agent /agent/" ]
+
+      containers:
+        - name: shop-user
+          image: albumen/dubbo-demo:dubbo-samples-metrics-demo-user_0.0.1
+          imagePullPolicy: Always
+          ports:
+            - name: dubbo
+              containerPort: 20884
+              protocol: TCP
+            - name: dubbo-qos
+              containerPort: 20994
+              protocol: TCP
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /skywalking
+          env:
+            - name: JAVA_TOOL_OPTIONS
+              value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
+            - name: SW_AGENT_NAME
+              value: shop::shop-user
+            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
+              value: "skywalking-oap.dubbo-system.svc:11800"
+          startupProbe:
+            httpGet:
+              port: 22222
+              path: /startup
+            initialDelaySeconds: 10
+            periodSeconds: 1
+            timeoutSeconds: 1
+            failureThreshold: 300
+            successThreshold: 1
+---
+
+# App Detail-1
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: shop-detail-v1
+  namespace: dubbo-shop
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      app: shop-detail
+      detailVersion: v1
+  template:
+    metadata:
+      labels:
+        app: shop-detail
+        detailVersion: v1
+      annotations:
+        prometheus.io/scrape: "true"
+        prometheus.io/path: /metrics
+        prometheus.io/port: "22222"
+    spec:
+      volumes:
+        - name: skywalking-agent
+          emptyDir: { }
+
+      initContainers:
+        - name: agent-container
+          image: apache/skywalking-java-agent:8.13.0-java17
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /agent
+          command: [ "/bin/sh" ]
+          args: [ "-c", "cp -R /skywalking/agent /agent/" ]
+
+      containers:
+        - name: shop-detail
+          image: albumen/dubbo-demo:dubbo-samples-metrics-demo-detail_0.0.1
+          imagePullPolicy: Always
+          ports:
+            - name: dubbo
+              containerPort: 20885
+              protocol: TCP
+            - name: dubbo-qos
+              containerPort: 20995
+              protocol: TCP
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /skywalking
+          env:
+            - name: JAVA_TOOL_OPTIONS
+              value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
+            - name: SW_AGENT_NAME
+              value: shop::shop-detail
+            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
+              value: "skywalking-oap.dubbo-system.svc:11800"
+            - name: DUBBO_LABELS
+              value: "detailVersion=v1; region=beijing"
+          startupProbe:
+            httpGet:
+              port: 22222
+              path: /startup
+            initialDelaySeconds: 10
+            periodSeconds: 1
+            timeoutSeconds: 1
+            failureThreshold: 300
+            successThreshold: 1
+---
+
+# App Detail-2
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: shop-detail-v2
+  namespace: dubbo-shop
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      app: shop-detail
+      detailVersion: v2
+  template:
+    metadata:
+      labels:
+        app: shop-detail
+        detailVersion: v2
+      annotations:
+        prometheus.io/scrape: "true"
+        prometheus.io/path: /metrics
+        prometheus.io/port: "22222"
+    spec:
+      volumes:
+        - name: skywalking-agent
+          emptyDir: { }
+
+      initContainers:
+        - name: agent-container
+          image: apache/skywalking-java-agent:8.13.0-java17
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /agent
+          command: [ "/bin/sh" ]
+          args: [ "-c", "cp -R /skywalking/agent /agent/" ]
+
+      containers:
+        - name: shop-detail
+          image: albumen/dubbo-demo:dubbo-samples-metrics-demo-detail_v2_0.0.1
+          imagePullPolicy: Always
+          ports:
+            - name: dubbo
+              containerPort: 20886
+              protocol: TCP
+            - name: dubbo-qos
+              containerPort: 20996
+              protocol: TCP
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /skywalking
+          env:
+            - name: JAVA_TOOL_OPTIONS
+              value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
+            - name: SW_AGENT_NAME
+              value: shop::shop-detail
+            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
+              value: "skywalking-oap.dubbo-system.svc:11800"
+            - name: DUBBO_LABELS
+              value: "detailVersion=v2; region=hangzhou;"
+          startupProbe:
+            httpGet:
+              port: 22222
+              path: /startup
+            initialDelaySeconds: 10
+            periodSeconds: 1
+            timeoutSeconds: 1
+            failureThreshold: 300
+            successThreshold: 1
+---
+
+#App Comment v1
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: shop-comment-v1
+  namespace: dubbo-shop
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      app: shop-comment
+      commentVersion: v1
+  template:
+    metadata:
+      labels:
+        app: shop-comment
+        commentVersion: v1
+      annotations:
+        prometheus.io/scrape: "true"
+        prometheus.io/path: /metrics
+        prometheus.io/port: "22222"
+    spec:
+      volumes:
+        - name: skywalking-agent
+          emptyDir: { }
+
+      initContainers:
+        - name: agent-container
+          image: apache/skywalking-java-agent:8.13.0-java17
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /agent
+          command: [ "/bin/sh" ]
+          args: [ "-c", "cp -R /skywalking/agent /agent/" ]
+
+      containers:
+        - name: shop-comment
+          image: albumen/dubbo-demo:dubbo-samples-metrics-demo-comment_0.0.1
+          imagePullPolicy: Always
+          ports:
+            - name: dubbo
+              containerPort: 20887
+              protocol: TCP
+            - name: dubbo-qos
+              containerPort: 20997
+              protocol: TCP
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /skywalking
+          env:
+            - name: JAVA_TOOL_OPTIONS
+              value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
+            - name: SW_AGENT_NAME
+              value: shop::shop-comment
+            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
+              value: "skywalking-oap.dubbo-system.svc:11800"
+            - name: DUBBO_LABELS
+              value: "commentVersion=v1; region=beijing"
+          startupProbe:
+            httpGet:
+              port: 22222
+              path: /startup
+            initialDelaySeconds: 10
+            periodSeconds: 1
+            timeoutSeconds: 1
+            failureThreshold: 300
+            successThreshold: 1
+---
+
+#App Comment v2
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: shop-comment-v2
+  namespace: dubbo-shop
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      app: shop-comment
+      commentVersion: v2
+  template:
+    metadata:
+      labels:
+        app: shop-comment
+        commentVersion: v2
+      annotations:
+        prometheus.io/scrape: "true"
+        prometheus.io/path: /metrics
+        prometheus.io/port: "22222"
+    spec:
+      volumes:
+        - name: skywalking-agent
+          emptyDir: { }
+
+      initContainers:
+        - name: agent-container
+          image: apache/skywalking-java-agent:8.13.0-java17
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /agent
+          command: [ "/bin/sh" ]
+          args: [ "-c", "cp -R /skywalking/agent /agent/" ]
+
+      containers:
+        - name: shop-comment
+          image: albumen/dubbo-demo:dubbo-samples-metrics-demo-comment_v2_0.0.1
+          imagePullPolicy: Always
+          ports:
+            - name: dubbo
+              containerPort: 20888
+              protocol: TCP
+            - name: dubbo-qos
+              containerPort: 20998
+              protocol: TCP
+          volumeMounts:
+            - name: skywalking-agent
+              mountPath: /skywalking
+          env:
+            - name: JAVA_TOOL_OPTIONS
+              value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
+            - name: SW_AGENT_NAME
+              value: shop::shop-comment
+            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
+              value: "skywalking-oap.dubbo-system.svc:11800"
+            - name: DUBBO_LABELS
+              value: "commentVersion=v2; region=hangzhou;"
+          startupProbe:
+            httpGet:
+              port: 22222
+              path: /startup
+            initialDelaySeconds: 10
+            periodSeconds: 1
+            timeoutSeconds: 1
+            failureThreshold: 300
+            successThreshold: 1
+
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-api/pom.xml
similarity index 69%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
copy to 10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-api/pom.xml
index 90b1068..31efba2 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-api/pom.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -18,19 +19,18 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-samples-spring-boot-tracing</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>23</version>
+        <relativePath/>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>dubbo-samples-spring-boot-tracing-interface</artifactId>
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-comment-api</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
 
-    <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
-        <maven.deploy.skip>true</maven.deploy.skip>
-    </properties>
+    <name>Dubbo Task - Metrics Demo - Comment's API</name>
+    <description>Dubbo Task - Metrics Demo - Comment's API</description>
 
 </project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-api/src/main/java/org/apache/dubbo/samples/CommentService.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-api/src/main/java/org/apache/dubbo/samples/CommentService.java
new file mode 100644
index 0000000..f44dd39
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-api/src/main/java/org/apache/dubbo/samples/CommentService.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples;
+
+public interface CommentService {
+    String getComment(String itemName);
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/pom.xml
new file mode 100644
index 0000000..e799f08
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/pom.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>3.0.0</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-comment-v1</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+
+    <name>Dubbo Task - Metrics Demo - Comment V1</name>
+    <description>Dubbo Task - Metrics Demo - Comment Version1</description>
+
+    <properties>
+        <java.version>17</java.version>
+        <dubbo.version>3.2.1</dubbo.version>
+        <nacos.version>2.2.0</nacos.version>
+    </properties>
+
+    <dependencies>
+        <!-- comment api -->
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-comment-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <!-- registry dependency -->
+        <dependency>
+            <groupId>com.alibaba.nacos</groupId>
+            <artifactId>nacos-client</artifactId>
+            <version>${nacos.version}</version>
+        </dependency>
+
+        <!-- dubbo dependency-->
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-observability-autoconfigure</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.graalvm.buildtools</groupId>
+                <artifactId>native-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.google.cloud.tools</groupId>
+                <artifactId>jib-maven-plugin</artifactId>
+                <version>3.2.1</version>
+                <configuration>
+                    <from>
+                        <image>openjdk:17</image>
+                    </from>
+                    <to>
+                        <image>albumen/dubbo-demo:dubbo-samples-metrics-demo-comment_0.0.1</image>
+                    </to>
+                    <container>
+                        <jvmFlags>
+                            <jvmFlag>-Dnacos.address=nacos.dubbo-system.svc</jvmFlag>
+                        </jvmFlags>
+                        <ports>
+                            <port>20887</port>
+                            <port>20997</port>
+                        </ports>
+                    </container>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/src/main/java/org/apache/dubbo/samples/comment/CommentApplication.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/src/main/java/org/apache/dubbo/samples/comment/CommentApplication.java
new file mode 100644
index 0000000..d296b27
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/src/main/java/org/apache/dubbo/samples/comment/CommentApplication.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.comment;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class CommentApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(CommentApplication.class, args);
+    }
+
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/src/main/java/org/apache/dubbo/samples/comment/CommentServiceImpl.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/src/main/java/org/apache/dubbo/samples/comment/CommentServiceImpl.java
new file mode 100644
index 0000000..f051e33
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/src/main/java/org/apache/dubbo/samples/comment/CommentServiceImpl.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.comment;
+
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.CommentService;
+
+@DubboService
+public class CommentServiceImpl implements CommentService {
+    @Override
+    public String getComment(String itemName) {
+        return "Comment from v1.";
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/src/main/resources/application.properties b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/src/main/resources/application.properties
new file mode 100644
index 0000000..84966ef
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v1/src/main/resources/application.properties
@@ -0,0 +1,35 @@
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+# Specify the application name of Dubbo
+dubbo.application.name=shop-comment
+spring.application.name=shop-comment
+# Enable token verification for each invocation
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20887
+dubbo.application.qos-anonymous-allow-commands=metrics
+dubbo.metrics.aggregation.enabled=true
+dubbo.metrics.histogram.enabled=true
+
+dubbo.tracing.enabled=true
+dubbo.tracing.sampling.probability=0.001
+dubbo.tracing.propagation.type=W3C
+dubbo.tracing.tracing-exporter.zipkin-config.endpoint=http://zipkin.dubbo-system.svc:9411/api/v2/spans
+dubbo.tracing.tracing-exporter.zipkin-config.connect-timeout=1s
+dubbo.tracing.tracing-exporter.zipkin-config.read-timeout=10s
+
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/pom.xml
new file mode 100644
index 0000000..09061e1
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/pom.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>3.0.0</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-comment-v2</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+
+    <name>Dubbo Task - Metrics Demo - Comment V2</name>
+    <description>Dubbo Task - Metrics Demo - Comment Version2</description>
+
+    <properties>
+        <java.version>17</java.version>
+        <dubbo.version>3.2.1</dubbo.version>
+        <nacos.version>2.2.0</nacos.version>
+    </properties>
+
+    <dependencies>
+        <!-- comment api -->
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-comment-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <!-- registry dependency -->
+        <dependency>
+            <groupId>com.alibaba.nacos</groupId>
+            <artifactId>nacos-client</artifactId>
+            <version>${nacos.version}</version>
+        </dependency>
+
+        <!-- dubbo dependency-->
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-observability-autoconfigure</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.graalvm.buildtools</groupId>
+                <artifactId>native-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.google.cloud.tools</groupId>
+                <artifactId>jib-maven-plugin</artifactId>
+                <version>3.2.1</version>
+                <configuration>
+                    <from>
+                        <image>openjdk:17</image>
+                    </from>
+                    <to>
+                        <image>albumen/dubbo-demo:dubbo-samples-metrics-demo-comment_v2_0.0.1</image>
+                    </to>
+                    <container>
+                        <jvmFlags>
+                            <jvmFlag>-Dnacos.address=nacos.dubbo-system.svc</jvmFlag>
+                        </jvmFlags>
+                        <ports>
+                            <port>20888</port>
+                            <port>20998</port>
+                        </ports>
+                    </container>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/src/main/java/org/apache/dubbo/samples/comment/CommentApplication2.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/src/main/java/org/apache/dubbo/samples/comment/CommentApplication2.java
new file mode 100644
index 0000000..3e59bf5
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/src/main/java/org/apache/dubbo/samples/comment/CommentApplication2.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.comment;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class CommentApplication2 {
+
+    public static void main(String[] args) {
+        SpringApplication.run(CommentApplication2.class, args);
+    }
+
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/src/main/java/org/apache/dubbo/samples/comment/CommentServiceImpl2.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/src/main/java/org/apache/dubbo/samples/comment/CommentServiceImpl2.java
new file mode 100644
index 0000000..cd4b673
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/src/main/java/org/apache/dubbo/samples/comment/CommentServiceImpl2.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.comment;
+
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.CommentService;
+
+@DubboService
+public class CommentServiceImpl2 implements CommentService {
+    @Override
+    public String getComment(String itemName) {
+        return "Comment from v2.";
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/src/main/resources/application.properties b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/src/main/resources/application.properties
new file mode 100644
index 0000000..2bbc3a9
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-comment-v2/src/main/resources/application.properties
@@ -0,0 +1,35 @@
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+# Specify the application name of Dubbo
+dubbo.application.name=shop-comment
+spring.application.name=shop-comment
+# Enable token verification for each invocation
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20888
+dubbo.application.qos-anonymous-allow-commands=metrics
+dubbo.metrics.aggregation.enabled=true
+dubbo.metrics.histogram.enabled=true
+
+dubbo.tracing.enabled=true
+dubbo.tracing.sampling.probability=0.001
+dubbo.tracing.propagation.type=W3C
+dubbo.tracing.tracing-exporter.zipkin-config.endpoint=http://zipkin.dubbo-system.svc:9411/api/v2/spans
+dubbo.tracing.tracing-exporter.zipkin-config.connect-timeout=1s
+dubbo.tracing.tracing-exporter.zipkin-config.read-timeout=10s
+
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-api/pom.xml
similarity index 69%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
copy to 10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-api/pom.xml
index 90b1068..353ed05 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-api/pom.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -18,19 +19,18 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-samples-spring-boot-tracing</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>23</version>
+        <relativePath/>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>dubbo-samples-spring-boot-tracing-interface</artifactId>
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-detail-api</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
 
-    <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
-        <maven.deploy.skip>true</maven.deploy.skip>
-    </properties>
+    <name>Dubbo Task - Metrics Demo - Detail's API</name>
+    <description>Dubbo Task - Metrics Demo - Detail's API</description>
 
 </project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-api/src/main/java/org/apache/dubbo/samples/DetailService.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-api/src/main/java/org/apache/dubbo/samples/DetailService.java
new file mode 100644
index 0000000..0c8b369
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-api/src/main/java/org/apache/dubbo/samples/DetailService.java
@@ -0,0 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples;
+
+public interface DetailService {
+
+    Item getItem(long sku, String username);
+
+    boolean deductStock(long sku, int count);
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-api/src/main/java/org/apache/dubbo/samples/Item.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-api/src/main/java/org/apache/dubbo/samples/Item.java
new file mode 100644
index 0000000..e7eb337
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-api/src/main/java/org/apache/dubbo/samples/Item.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples;
+
+import java.io.Serializable;
+
+public class Item implements Serializable {
+    private long sku;
+    private String itemName;
+    private String description;
+    private int stock;
+    private long price;
+    private String comment;
+
+    public long getSku() {
+        return sku;
+    }
+
+    public void setSku(long sku) {
+        this.sku = sku;
+    }
+
+    public String getItemName() {
+        return itemName;
+    }
+
+    public void setItemName(String itemName) {
+        this.itemName = itemName;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public int getStock() {
+        return stock;
+    }
+
+    public void setStock(int stock) {
+        this.stock = stock;
+    }
+
+    public long getPrice() {
+        return price;
+    }
+
+    public void setPrice(long price) {
+        this.price = price;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/pom.xml
new file mode 100644
index 0000000..4ae1c21
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/pom.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>3.0.0</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-detail-v1</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+
+    <name>Dubbo Task - Metrics Demo - Detail V1</name>
+    <description>Dubbo Task - Metrics Demo - Detail Version1</description>
+
+    <properties>
+        <java.version>17</java.version>
+        <dubbo.version>3.2.1</dubbo.version>
+        <nacos.version>2.2.0</nacos.version>
+    </properties>
+
+    <dependencies>
+        <!-- common api -->
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-detail-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-comment-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <!-- registry dependency -->
+        <dependency>
+            <groupId>com.alibaba.nacos</groupId>
+            <artifactId>nacos-client</artifactId>
+            <version>${nacos.version}</version>
+        </dependency>
+
+        <!-- dubbo dependency-->
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-observability-autoconfigure</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.graalvm.buildtools</groupId>
+                <artifactId>native-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.google.cloud.tools</groupId>
+                <artifactId>jib-maven-plugin</artifactId>
+                <version>3.2.1</version>
+                <configuration>
+                    <from>
+                        <image>openjdk:17</image>
+                    </from>
+                    <to>
+                        <image>albumen/dubbo-demo:dubbo-samples-metrics-demo-detail_0.0.1</image>
+                    </to>
+                    <container>
+                        <jvmFlags>
+                            <jvmFlag>-Dnacos.address=nacos.dubbo-system.svc</jvmFlag>
+                        </jvmFlags>
+                        <ports>
+                            <port>20885</port>
+                            <port>20995</port>
+                        </ports>
+                    </container>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/src/main/java/org/apache/dubbo/samples/detail/DetailApplication.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/src/main/java/org/apache/dubbo/samples/detail/DetailApplication.java
new file mode 100644
index 0000000..c9fccda
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/src/main/java/org/apache/dubbo/samples/detail/DetailApplication.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.detail;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class DetailApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(DetailApplication.class, args);
+    }
+
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/src/main/java/org/apache/dubbo/samples/detail/DetailServiceImpl.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/src/main/java/org/apache/dubbo/samples/detail/DetailServiceImpl.java
new file mode 100644
index 0000000..7325138
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/src/main/java/org/apache/dubbo/samples/detail/DetailServiceImpl.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.detail;
+
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.CommentService;
+import org.apache.dubbo.samples.DetailService;
+import org.apache.dubbo.samples.Item;
+
+import java.util.concurrent.ThreadLocalRandom;
+
+@DubboService
+public class DetailServiceImpl implements DetailService {
+
+    @DubboReference(check = false)
+    private CommentService commentService;
+
+    @Override
+    public Item getItem(long sku, String username) {
+        return getItem(sku);
+    }
+
+    @Override
+    public boolean deductStock(long sku, int count) {
+        try {
+            // Do something that consumes resources
+            for (int i = 0; i < 500; i++) {
+                Math.pow(ThreadLocalRandom.current().nextDouble(10), ThreadLocalRandom.current().nextDouble(5));
+            }
+            Thread.sleep(ThreadLocalRandom.current().nextInt(50));
+        } catch (InterruptedException ignore) {
+            Thread.currentThread().interrupt();
+        }
+        return true;
+    }
+
+    private Item getItem(long sku) {
+        Item item = new Item();
+        item.setSku(sku);
+        item.setItemName("itemName");
+        item.setDescription("item from detail v1");
+        item.setStock(100);
+        item.setPrice(100);
+        item.setComment(commentService.getComment("itemName"));
+        return item;
+    }
+
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/src/main/resources/application.properties b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/src/main/resources/application.properties
new file mode 100644
index 0000000..769f6bb
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v1/src/main/resources/application.properties
@@ -0,0 +1,35 @@
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+# Specify the application name of Dubbo
+dubbo.application.name=shop-detail
+spring.application.name=shop-detail
+# Enable token verification for each invocation
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20885
+dubbo.application.qos-anonymous-allow-commands=metrics
+dubbo.metrics.aggregation.enabled=true
+dubbo.metrics.histogram.enabled=true
+
+dubbo.tracing.enabled=true
+dubbo.tracing.sampling.probability=0.001
+dubbo.tracing.propagation.type=W3C
+dubbo.tracing.tracing-exporter.zipkin-config.endpoint=http://zipkin.dubbo-system.svc:9411/api/v2/spans
+dubbo.tracing.tracing-exporter.zipkin-config.connect-timeout=1s
+dubbo.tracing.tracing-exporter.zipkin-config.read-timeout=10s
+
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/pom.xml
new file mode 100644
index 0000000..7283b74
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/pom.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>3.0.0</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-detail-v2</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+
+    <name>Dubbo Task - Metrics Demo - Detail V2</name>
+    <description>Dubbo Task - Metrics Demo - Detail Version2</description>
+
+    <properties>
+        <java.version>17</java.version>
+        <dubbo.version>3.2.1</dubbo.version>
+        <nacos.version>2.2.0</nacos.version>
+    </properties>
+
+    <dependencies>
+        <!-- common api -->
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-detail-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-comment-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <!-- registry dependency -->
+        <dependency>
+            <groupId>com.alibaba.nacos</groupId>
+            <artifactId>nacos-client</artifactId>
+            <version>${nacos.version}</version>
+        </dependency>
+
+        <!-- dubbo dependency-->
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-observability-autoconfigure</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.graalvm.buildtools</groupId>
+                <artifactId>native-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.google.cloud.tools</groupId>
+                <artifactId>jib-maven-plugin</artifactId>
+                <version>3.2.1</version>
+                <configuration>
+                    <from>
+                        <image>openjdk:17</image>
+                    </from>
+                    <to>
+                        <image>albumen/dubbo-demo:dubbo-samples-metrics-demo-detail_v2_0.0.1</image>
+                    </to>
+                    <container>
+                        <jvmFlags>
+                            <jvmFlag>-Dnacos.address=nacos.dubbo-system.svc</jvmFlag>
+                        </jvmFlags>
+                        <ports>
+                            <port>20886</port>
+                            <port>20996</port>
+                        </ports>
+                    </container>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/src/main/java/org/apache/dubbo/samples/detail/DetailApplication2.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/src/main/java/org/apache/dubbo/samples/detail/DetailApplication2.java
new file mode 100644
index 0000000..a9831e6
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/src/main/java/org/apache/dubbo/samples/detail/DetailApplication2.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.detail;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class DetailApplication2 {
+
+    public static void main(String[] args) {
+        SpringApplication.run(DetailApplication2.class, args);
+    }
+
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/src/main/java/org/apache/dubbo/samples/detail/DetailServiceImpl2.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/src/main/java/org/apache/dubbo/samples/detail/DetailServiceImpl2.java
new file mode 100644
index 0000000..08d6196
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/src/main/java/org/apache/dubbo/samples/detail/DetailServiceImpl2.java
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.detail;
+
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.CommentService;
+import org.apache.dubbo.samples.DetailService;
+import org.apache.dubbo.samples.Item;
+
+import java.util.concurrent.ThreadLocalRandom;
+
+@DubboService
+public class DetailServiceImpl2 implements DetailService {
+
+    @DubboReference(check = false)
+    private CommentService commentService;
+
+    @Override
+    public Item getItem(long sku, String username) {
+        if (username.equals("dubbo")) {
+            return getItemForVip(sku);
+        }
+        return getItem(sku);
+    }
+
+    @Override
+    public boolean deductStock(long sku, int count) {
+        try {
+            // Do something that consumes resources
+            for (int i = 0; i < 500; i++) {
+                Math.pow(ThreadLocalRandom.current().nextDouble(10), ThreadLocalRandom.current().nextDouble(5));
+            }
+            Thread.sleep(ThreadLocalRandom.current().nextInt(50));
+        } catch (InterruptedException ignore) {
+            Thread.currentThread().interrupt();
+        }
+        return true;
+    }
+
+    private Item getItem(long sku) {
+        Item item = new Item();
+        item.setSku(sku);
+        item.setItemName("itemName");
+        item.setDescription("item from detail v2");
+        item.setStock(100);
+        item.setPrice(100);
+        item.setComment(commentService.getComment("itemName"));
+        return item;
+    }
+
+    private Item getItemGray(long sku) {
+        Item item = new Item();
+        item.setSku(sku);
+        item.setItemName("itemName");
+        item.setDescription("item from gray environment");
+        item.setStock(100);
+        item.setPrice(100);
+        item.setComment(commentService.getComment("itemName"));
+        return item;
+    }
+
+    private Item getItemForVip(long sku) {
+        Item item = new Item();
+        item.setSku(sku);
+        item.setItemName("itemName");
+        item.setDescription("item for vip");
+        item.setStock(100);
+        item.setPrice(50);
+        item.setComment(commentService.getComment("itemName"));
+        return item;
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/src/main/resources/application.properties b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/src/main/resources/application.properties
new file mode 100644
index 0000000..db8c936
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-detail-v2/src/main/resources/application.properties
@@ -0,0 +1,36 @@
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+# Specify the application name of Dubbo
+dubbo.application.name=shop-detail
+spring.application.name=shop-detail
+# Specify the QoS port
+# Enable token verification for each invocation
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20886
+dubbo.application.qos-anonymous-allow-commands=metrics
+dubbo.metrics.aggregation.enabled=true
+dubbo.metrics.histogram.enabled=true
+
+dubbo.tracing.enabled=true
+dubbo.tracing.sampling.probability=0.001
+dubbo.tracing.propagation.type=W3C
+dubbo.tracing.tracing-exporter.zipkin-config.endpoint=http://zipkin.dubbo-system.svc:9411/api/v2/spans
+dubbo.tracing.tracing-exporter.zipkin-config.connect-timeout=1s
+dubbo.tracing.tracing-exporter.zipkin-config.read-timeout=10s
+
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend-api/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend-api/pom.xml
new file mode 100644
index 0000000..05ad4b5
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend-api/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>23</version>
+        <relativePath/>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-frontend-api</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+
+    <name>Dubbo Task - Metrics Demo - FrontEnd's API</name>
+    <description>Dubbo Task - Metrics Demo - FrontEnd's API</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-detail-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-order-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-user-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend-api/src/main/java/org/apache/dubbo/samples/ShopService.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend-api/src/main/java/org/apache/dubbo/samples/ShopService.java
new file mode 100644
index 0000000..9ce36a5
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend-api/src/main/java/org/apache/dubbo/samples/ShopService.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples;
+
+public interface ShopService {
+
+    boolean register(String username, String password, String realName, String mail, String phone);
+
+    boolean login(String username, String password);
+
+    User getUserInfo(String username);
+
+    boolean timeoutLogin(String username, String password);
+
+    Item checkItem(long sku, String username);
+
+    Item checkItemGray(long sku, String username);
+
+    OrderDetail submitOrder(long sku, int count, String address, String phone, String receiver);
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/pom.xml
new file mode 100644
index 0000000..c37d664
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/pom.xml
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>3.0.0</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-frontend</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+
+    <name>Dubbo Task - Metrics Demo - FrontEnd</name>
+    <description>Dubbo Task - Metrics Demo - FrontEnd</description>
+
+    <properties>
+        <java.version>17</java.version>
+        <dubbo.version>3.2.1</dubbo.version>
+        <nacos.version>2.2.0</nacos.version>
+    </properties>
+
+    <dependencies>
+        <!-- common api -->
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-frontend-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-detail-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-order-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-user-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <!-- registry dependency -->
+        <dependency>
+            <groupId>com.alibaba.nacos</groupId>
+            <artifactId>nacos-client</artifactId>
+            <version>${nacos.version}</version>
+        </dependency>
+
+        <!-- dubbo dependency-->
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-observability-autoconfigure</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-freemarker</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.graalvm.buildtools</groupId>
+                <artifactId>native-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.google.cloud.tools</groupId>
+                <artifactId>jib-maven-plugin</artifactId>
+                <version>3.2.1</version>
+                <configuration>
+                    <from>
+                        <image>openjdk:17</image>
+                    </from>
+                    <to>
+                        <image>albumen/dubbo-demo:dubbo-samples-metrics-demo-frontend_0.0.1</image>
+                    </to>
+                    <container>
+                        <jvmFlags>
+                            <jvmFlag>-Dnacos.address=nacos.dubbo-system.svc</jvmFlag>
+                        </jvmFlags>
+                        <ports>
+                            <port>20881</port>
+                            <port>20991</port>
+                        </ports>
+                    </container>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/BenchmarkClient.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/BenchmarkClient.java
new file mode 100644
index 0000000..78a9dcb
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/BenchmarkClient.java
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.frontend;
+
+import org.apache.dubbo.samples.ShopService;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadLocalRandom;
+
+@Component
+public class BenchmarkClient implements CommandLineRunner {
+    private static final Logger logger = LoggerFactory.getLogger(BenchmarkClient.class);
+
+    @Autowired
+    private ShopService shopService;
+
+    @Override
+    public void run(String... args) {
+        ExecutorService executorService = Executors.newCachedThreadPool();
+
+        // Register (5 Concurrent)
+        for (int i = 0; i < 5; i++) {
+            executorService.submit(() -> {
+                while (true) {
+                    try {
+                        List<String> names = Arrays.asList("John", "Mike", "Kevin", "Grace", "Mark");
+                        String name = names.get(ThreadLocalRandom.current().nextInt(names.size()));
+
+                        List<String> passwords = Arrays.asList("123456", "654321", "admin", "root", "pwd");
+                        String password = passwords.get(ThreadLocalRandom.current().nextInt(passwords.size()));
+                        shopService.register(name, password, name, "dev@dubbo.apache.org", "12345678");
+                    } catch (Throwable t) {
+                        logger.error("Running Register Bench Failed.", t);
+                    }
+                }
+            });
+        }
+        logger.info("Start Register Bench with 5 Concurrent.");
+
+        // Login (10 Concurrent)
+        for (int i = 0; i < 10; i++) {
+            executorService.submit(() -> {
+                while (true) {
+                    try {
+                        List<String> names = Arrays.asList("John", "Mike", "Kevin", "Grace", "Mark");
+                        String name = names.get(ThreadLocalRandom.current().nextInt(names.size()));
+
+                        List<String> passwords = Arrays.asList("123456", "654321", "admin", "root", "pwd");
+                        String password = passwords.get(ThreadLocalRandom.current().nextInt(passwords.size()));
+                        shopService.login(name, password);
+                    } catch (Throwable t) {
+                        logger.error("Running Login Bench Failed.", t);
+                    }
+                }
+            });
+        }
+        logger.info("Start Login Bench with 5 Concurrent.");
+
+        // CreateItem (5 Concurrent)
+        for (int i = 0; i < 5; i++) {
+            executorService.submit(() -> {
+                while (true) {
+                    try {
+                        long sku = ThreadLocalRandom.current().nextLong();
+                        shopService.checkItem(sku, "dubbo");
+                    } catch (Throwable t) {
+                        logger.error("Running CreateItem Bench Failed.", t);
+                    }
+                }
+            });
+        }
+        logger.info("Start CreateItem Bench with 5 Concurrent.");
+
+        // SubmitOrder (50 Concurrent)
+        for (int i = 0; i < 50; i++) {
+            executorService.submit(() -> {
+                while (true) {
+                    try {
+                        long sku = ThreadLocalRandom.current().nextLong();
+                        shopService.submitOrder(sku, 50, "Test Item", "Desc", "Mike");
+                    } catch (Throwable t) {
+                        logger.error("Running SubmitOrder Bench Failed.", t);
+                    }
+                }
+            });
+        }
+        logger.info("Start SubmitOrder Bench with 5 Concurrent.");
+
+        logger.info("All Bench Client started.");
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/FrontEndApplication.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/FrontEndApplication.java
new file mode 100644
index 0000000..a444649
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/FrontEndApplication.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.frontend;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+
+@SpringBootApplication
+public class FrontEndApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(FrontEndApplication.class, args);
+    }
+
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/ShopServiceImpl.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/ShopServiceImpl.java
new file mode 100644
index 0000000..6eba91d
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/ShopServiceImpl.java
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.frontend;
+
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.dubbo.samples.DetailService;
+import org.apache.dubbo.samples.Item;
+import org.apache.dubbo.samples.Order;
+import org.apache.dubbo.samples.OrderDetail;
+import org.apache.dubbo.samples.OrderService;
+import org.apache.dubbo.samples.ShopService;
+import org.apache.dubbo.samples.User;
+import org.apache.dubbo.samples.UserService;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class ShopServiceImpl implements ShopService {
+    @DubboReference(check = false, retries = 0)
+    private UserService userService;
+
+    @DubboReference(check = false)
+    private OrderService orderService;
+
+    @DubboReference(check = false)
+    private DetailService detailService;
+
+    @Override
+    public boolean register(String username, String password, String realName, String mail, String phone) {
+        User user = new User();
+        user.setUsername(username);
+        user.setPassword(password);
+        user.setRealName(realName);
+        user.setMail(mail);
+        user.setPhone(phone);
+        return userService.register(user);
+    }
+
+    @Override
+    public boolean login(String username, String password) {
+        return userService.login(username, password) != null;
+    }
+
+    @Override
+    public User getUserInfo(String username) {
+        return userService.getInfo(username);
+    }
+
+    @Override
+    public boolean timeoutLogin(String username, String password) {
+        return userService.timeoutLogin(username, password) != null;
+    }
+
+    @Override
+    public Item checkItem(long sku, String username) {
+        return detailService.getItem(sku, username);
+    }
+
+    public Item checkItemGray(long sku, String username) {
+        return detailService.getItem(sku, username);
+    }
+
+    @Override
+    public OrderDetail submitOrder(long sku, int count, String address, String phone, String receiver) {
+        Order order = new Order();
+        order.setSku(sku);
+        order.setCount(count);
+        order.setAddress(address);
+        order.setPhone(phone);
+        order.setReceiver(receiver);
+        return orderService.submitOrder(order);
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/pages/WebController.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/pages/WebController.java
new file mode 100755
index 0000000..2931023
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/java/org/apache/dubbo/samples/frontend/pages/WebController.java
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.frontend.pages;
+
+import org.apache.dubbo.rpc.RpcContext;
+import org.apache.dubbo.samples.Item;
+import org.apache.dubbo.samples.OrderDetail;
+import org.apache.dubbo.samples.ShopService;
+import org.apache.dubbo.samples.User;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.ModelAndView;
+
+@RestController
+public class WebController {
+
+    @Autowired
+    private ShopService shopService;
+
+    // user GET to avoid resubmit warning on browser side.
+    @RequestMapping(value = "/login", method = RequestMethod.GET)
+    ModelAndView login(@RequestParam String username, @RequestParam String password) {
+        shopService.login(username, password);
+        // get user info
+
+        // get item detail
+        Item item = shopService.checkItem(1, username);
+
+        ModelAndView modelAndView = new ModelAndView("detail");
+        modelAndView.addObject("username", username);
+        modelAndView.addObject("item", item);
+        return modelAndView;
+    }
+
+    // user GET to avoid resubmit warning on browser side.
+    @RequestMapping(value = "/timeoutLogin", method = RequestMethod.GET)
+    ModelAndView timeoutLogin(@RequestParam String username, @RequestParam String password) {
+        ModelAndView modelAndView;
+
+        try {
+            shopService.timeoutLogin(username, password);
+        } catch (Exception e) {
+            modelAndView = new ModelAndView("index");
+            modelAndView.addObject("result", "Failed to login, request timeout, please add timeout policy and retry!");
+            return modelAndView;
+        }
+
+        modelAndView = new ModelAndView("detail");
+        modelAndView.addObject("username", username);
+        return modelAndView;
+    }
+
+    // user GET to avoid resubmit warning on browser side.
+    @RequestMapping(value = "/grayLogin", method = RequestMethod.GET)
+    ModelAndView grayLogin(@RequestParam String username, @RequestParam String password) {
+        ModelAndView modelAndView;
+        shopService.login(username, password);
+        // get item detail from gray environment
+        RpcContext.getClientAttachment().setAttachment("dubbo.tag", "gray");
+        Item item = shopService.checkItemGray(1, username);
+
+        modelAndView = new ModelAndView("detail");
+        modelAndView.addObject("username", username);
+        modelAndView.addObject("item", item);
+
+        return modelAndView;
+    }
+
+    @RequestMapping(value = "/userinfo", method = RequestMethod.GET)
+    @ResponseBody
+    User userInfo(@RequestParam String username) {
+        // retry
+        try {
+            return shopService.getUserInfo(username);
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    @RequestMapping(value = "/order", method = RequestMethod.POST)
+    @ResponseBody
+    OrderDetail createOrder(@RequestParam String username, @RequestParam long sku) {
+        return shopService.submitOrder(sku, 1, "Hangzhou China", "18069807880", username);
+    }
+
+}
\ No newline at end of file
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/application.properties b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/application.properties
new file mode 100644
index 0000000..1823f91
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/application.properties
@@ -0,0 +1,42 @@
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+# Specify the application name of Dubbo
+dubbo.application.name=shop-frontend
+spring.application.name=shop-frontend
+
+# Enable token verification for each invocation
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20881
+#spring.freemarker.template-loader-path: /templates
+spring.freemarker.suffix=.ftl
+server.servlet.encoding.force=true
+server.servlet.encoding.charset=utf-8
+server.servlet.encoding.enabled=true
+dubbo.application.qos-anonymous-allow-commands=metrics
+dubbo.metrics.aggregation.enabled=true
+dubbo.metrics.histogram.enabled=true
+
+dubbo.tracing.enabled=true
+dubbo.tracing.sampling.probability=0.001
+dubbo.tracing.propagation.type=W3C
+dubbo.tracing.tracing-exporter.zipkin-config.endpoint=http://zipkin.dubbo-system.svc:9411/api/v2/spans
+dubbo.tracing.tracing-exporter.zipkin-config.connect-timeout=1s
+dubbo.tracing.tracing-exporter.zipkin-config.read-timeout=10s
+
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/static/architecture.png b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/static/architecture.png
new file mode 100644
index 0000000..515efaa
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/static/architecture.png
Binary files differ
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/static/goods.png b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/static/goods.png
new file mode 100644
index 0000000..93663ad
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/static/goods.png
Binary files differ
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/static/jquery-3.6.3.min.js b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/static/jquery-3.6.3.min.js
new file mode 100644
index 0000000..b5329e9
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/static/jquery-3.6.3.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.6.3 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},S=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||S).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.3",E=function(e,t){return new E.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:v}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,S,y,s,c,v,E="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,S)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=E)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{if(d.cssSupportsSelector&&!CSS.supports("selector(:is("+c+"))"))throw new Error;return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===E&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[E]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,S=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.cssSupportsSelector=ce(function(){return CSS.supports("selector(*)")&&C.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=E,!C.getElementsByName||!C.getElementsByName(E).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&S)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+E+"'></a><select id='"+E+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+E+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+E+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),d.cssSupportsSelector||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&S&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!S):void 0;return void 0!==r?r:d.attributes||!S?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,y){var v="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===y?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=v!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(v){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=y)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[E]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[E]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=S?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ye(function(){return[0]}),last:ye(function(e,t){return[t-1]}),eq:ye(function(e,t,n){return[n<0?n+t:n]}),even:ye(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ye(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ye(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ye(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[E]||(e[E]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,y,v,e){return y&&!y[E]&&(y=Ce(y)),v&&!v[E]&&(v=Ce(v,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?v||(e?d:l||y)?[]:t:f;if(g&&g(f,p,n,r),y){i=Te(p,u),y(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(v||d){if(v){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);v(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=v?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),v?v(null,t,p,r):H.apply(t,p)})}function Se(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[E]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Se(e.slice(s,n)),n<r&&Se(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,y,v,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Se(t[n]))[E]?i.push(a):o.push(a);(a=A(e,(y=o,m=0<(v=i).length,x=0<y.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!S);while(s=y[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=v[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+v.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&S&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ve(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!S,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},d.sortStable=E.split("").sort(j).join("")===E,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);E.find=d,E.expr=d.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=d.uniqueSort,E.text=d.getText,E.isXMLDoc=d.isXML,E.contains=d.contains,E.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=E.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?E(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),N.test(r[1])&&E.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=S.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,D=E(S);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(H[r]||E.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(P)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),C.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){C.setTimeout(function(){throw e})};var F=E.Deferred();function $(){S.removeEventListener("DOMContentLoaded",$),C.removeEventListener("load",$),E.ready()}E.fn.ready=function(e){return F.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||F.resolveWith(S,[E])}}),E.ready.then=F.then,"complete"===S.readyState||"loading"!==S.readyState&&!S.documentElement.doScroll?C.setTimeout(E.ready):(S.addEventListener("DOMContentLoaded",$),C.addEventListener("load",$));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=E.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):B(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=S.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===E.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?E(this).show():E(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=S.createDocumentFragment().appendChild(S.createElement("div")),(fe=S.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",v.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,v.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))E.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return S.activeElement}catch(e){}}()==("focus"===t)}function Se(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Se(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ee(e,i,o){o?(Y.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,we)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=y.events)||(u=y.events=Object.create(null)),(a=y.handle)||(a=y.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=E.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=E.event.special[d]||{},c=E.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),E.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.hasData(e)&&Y.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=E.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||E.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)E.event.remove(e,d+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=E.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(t,e){E.event.special[t]={setup:function(){return Ee(this,t,Ce),!1},trigger:function(){return Ee(this,t),!0},_default:function(e){return Y.get(e.target,t)},delegateType:e}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Se(this,e,t,n,r)},one:function(e,t,n,r){return Se(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=E.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!v.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ye(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=E.clone(u,!0,!0),s&&E.merge(a,ye(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ye(c),r=0,i=(o=ye(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ye(e),a=a||ye(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ye(c,"script")).length&&ve(a,!f&&ye(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ye(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=/^--/,Me=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Ie=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},We=new RegExp(ne.join("|"),"i"),Fe="[\\x20\\t\\r\\n\\f]",$e=new RegExp("^"+Fe+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Fe+"+$","g");function Be(e,t,n){var r,i,o,a,s=Re.test(t),u=e.style;return(n=n||Me(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace($e,"$1")||void 0),""!==a||ie(e)||(a=E.style(e,t)),!v.pixelBoxStyles()&&Pe.test(a)&&We.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=S.createElement("div"),l=S.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(v,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=S.createElement("table"),t=S.createElement("tr"),n=S.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var ze=["Webkit","Moz","ms"],Ue=S.createElement("div").style,Xe={};function Ve(e){var t=E.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=ze.length;while(n--)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Me(e),i=(!v.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Re.test(t),l=e.style;if(u||(t=Ve(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Re.test(t)||(t=Ve(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):Ie(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Me(e),o=!v.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=_e(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Me(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),((E.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||E.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(E.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=E.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=E.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){E.fx.step[e.prop]?E.fx.step[e.prop](e):1!==e.elem.nodeType||!E.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:E.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},E.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},E.fx=et.prototype.init,E.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===S.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,E.fx.interval),E.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=E.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:E.extend({},e),opts:E.extend(!0,{specialEasing:{},easing:E.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=E.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=E.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(E._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return E.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),E.fx.timer(E.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}E.Animation=E.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=Y.get(e,"fxshow");for(r in n.queue||(null==(a=E._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,E.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||E.style(e,r)}if((u=!E.isEmptyObject(t))||!E.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=Y.get(e,"display")),"none"===(c=E.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=E.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===E.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(y?"hidden"in y&&(g=y.hidden):y=Y.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)E.style(e,r,d[r])})),u=ct(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),E.speed=function(e,t,n){var r=e&&"object"==typeof e?E.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return E.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in E.fx.speeds?r.duration=E.fx.speeds[r.duration]:r.duration=E.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&E.dequeue(this,r.queue)},r},E.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=E.isEmptyObject(t),o=E.speed(e,n,r),a=function(){var e=ft(this,E.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=E.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||E.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=E.timers,o=n?n.length:0;for(t.finish=!0,E.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),E.each(["toggle","show","hide"],function(e,r){var i=E.fn[r];E.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),E.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){E.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),E.timers=[],E.fx.tick=function(){var e,t=0,n=E.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||E.fx.stop(),tt=void 0},E.fx.timer=function(e){E.timers.push(e),E.fx.start()},E.fx.interval=13,E.fx.start=function(){nt||(nt=!0,st())},E.fx.stop=function(){nt=null},E.fx.speeds={slow:600,fast:200,_default:400},E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=S.createElement("input"),it=S.createElement("select").appendChild(S.createElement("option")),rt.type="checkbox",v.checkOn=""!==rt.value,v.optSelected=it.selected,(rt=S.createElement("input")).value="t",rt.type="radio",v.radioValue="t"===rt.value;var pt,dt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return B(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||E.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function yt(e){return(e.match(P)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}E.fn.extend({prop:function(e,t){return B(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),v.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).addClass(t.call(this,e,vt(this)))}):(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=yt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).removeClass(t.call(this,e,vt(this)))}):arguments.length?(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=yt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return m(t)?this.each(function(e){E(this).toggleClass(t.call(this,e,vt(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=mt(t),this.each(function(){if(s)for(o=E(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=vt(this))&&Y.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":Y.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+yt(vt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:yt(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},v.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||S],d=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||S,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+E.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[E.expando]?e:new E.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||S)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),v.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},St=/\?/;E.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||E.error("Invalid XML: "+(n?E.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Et=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function jt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||Et.test(n)?i(n,t):jt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)jt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var Dt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=S.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function $t(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,E.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Bt(e,t){var n,r,i=E.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&E.extend(!0,e,r),e}Wt.href=Tt.href,E.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":E.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,E.ajaxSettings),t):Bt(E.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,y=E.ajaxSetup({},t),v=y.context||y,m=y.context&&(v.nodeType||v.jquery)?E(v):E.event,x=E.Deferred(),b=E.Callbacks("once memory"),w=y.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(y.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),y.url=((e||y.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),y.type=t.method||t.type||y.method||y.type,y.dataTypes=(y.dataType||"*").toLowerCase().match(P)||[""],null==y.crossDomain){r=S.createElement("a");try{r.href=y.url,r.href=r.href,y.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){y.crossDomain=!0}}if(y.data&&y.processData&&"string"!=typeof y.data&&(y.data=E.param(y.data,y.traditional)),$t(Rt,y,t,T),h)return T;for(i in(g=E.event&&y.global)&&0==E.active++&&E.event.trigger("ajaxStart"),y.type=y.type.toUpperCase(),y.hasContent=!Ot.test(y.type),f=y.url.replace(qt,""),y.hasContent?y.data&&y.processData&&0===(y.contentType||"").indexOf("application/x-www-form-urlencoded")&&(y.data=y.data.replace(Dt,"+")):(o=y.url.slice(f.length),y.data&&(y.processData||"string"==typeof y.data)&&(f+=(St.test(f)?"&":"?")+y.data,delete y.data),!1===y.cache&&(f=f.replace(Lt,"$1"),o=(St.test(f)?"&":"?")+"_="+Ct.guid+++o),y.url=f+o),y.ifModified&&(E.lastModified[f]&&T.setRequestHeader("If-Modified-Since",E.lastModified[f]),E.etag[f]&&T.setRequestHeader("If-None-Match",E.etag[f])),(y.data&&y.hasContent&&!1!==y.contentType||t.contentType)&&T.setRequestHeader("Content-Type",y.contentType),T.setRequestHeader("Accept",y.dataTypes[0]&&y.accepts[y.dataTypes[0]]?y.accepts[y.dataTypes[0]]+("*"!==y.dataTypes[0]?", "+It+"; q=0.01":""):y.accepts["*"]),y.headers)T.setRequestHeader(i,y.headers[i]);if(y.beforeSend&&(!1===y.beforeSend.call(v,T,y)||h))return T.abort();if(u="abort",b.add(y.complete),T.done(y.success),T.fail(y.error),c=$t(Mt,y,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,y]),h)return T;y.async&&0<y.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},y.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(y,T,n)),!i&&-1<E.inArray("script",y.dataTypes)&&E.inArray("json",y.dataTypes)<0&&(y.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(y,s,T,i),i?(y.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(E.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(E.etag[f]=u)),204===e||"HEAD"===y.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(v,[o,l,T]):x.rejectWith(v,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,y,i?o:a]),b.fireWith(v,[T,l]),g&&(m.trigger("ajaxComplete",[T,y]),--E.active||E.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return E.get(e,t,n,"json")},getScript:function(e,t){return E.get(e,void 0,t,"script")}}),E.each(["get","post"],function(e,i){E[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),E.ajax(E.extend({url:e,type:i,dataType:r,data:t,success:n},E.isPlainObject(e)&&e))}}),E.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),E._evalUrl=function(e,t,n){return E.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){E.globalEval(e,t,n)}})},E.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},E.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=E.ajaxSettings.xhr();v.cors=!!zt&&"withCredentials"in zt,v.ajax=zt=!!zt,E.ajaxTransport(function(i){var o,a;if(v.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),E.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),E.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return E.globalEval(e),e}}}),E.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),E.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=E("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),S.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;E.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||E.expando+"_"+Ct.guid++;return this[e]=!0,e}}),E.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||E.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?E(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=S.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=S.implementation.createHTMLDocument("")).createElement("base")).href=S.location.href,t.head.appendChild(r)):t=S),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=yt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&E.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?E("<div>").append(E.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},E.expr.pseudos.animated=function(t){return E.grep(E.timers,function(e){return t===e.elem}).length},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){E.fn[t]=function(e){return this.on(t,e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=A,E.isFunction=m,E.isWindow=x,E.camelCase=X,E.type=w,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(Gt,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var Yt=C.jQuery,Qt=C.$;return E.noConflict=function(e){return C.$===E&&(C.$=Qt),e&&C.jQuery===E&&(C.jQuery=Yt),E},"undefined"==typeof e&&(C.jQuery=C.$=E),E});
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/templates/detail.ftl b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/templates/detail.ftl
new file mode 100755
index 0000000..e50b1bb
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/templates/detail.ftl
@@ -0,0 +1,113 @@
+<html>
+
+<head>
+    <title>Dubbo Onling Shopping Demo</title>
+    <script src="jquery-3.6.3.min.js"></script>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            $.ajax({
+                url: "/userinfo?username=" + "${username}",
+                success: function (result) {
+                    if (result === "") {
+                        $("#userinfo").html("<label id='retry'>Failed to get user info, please add retry policy and refresh!</label>");
+                    } else {
+                        $("#userinfo").html("User Info: " + result.username + ", " + result.realName + ", " + result.mail + ", " + result.phone);
+                    }
+                },
+                error: function (xhr, status, error) {
+                    $("#userinfo").innerHTML = "<label id='retry'>Failed to get user info in background, please add retry policy and refresh!</label>";
+                },
+                complete: function (xhr, status) {
+                }
+            });
+        });
+
+        function buyNow() {
+            console.log("${username}");
+            $.post("/order?username=", {username: "${username}", sku: 1},
+                function (result, status, xhr) {
+                    if (result === "") {
+                        $("#orderDetail").html("<label>Order created successfully!</label>");
+                    } else {
+                        $("#orderDetail").html("Order created successfully! <br/><br/> Here's the package delivery message " + result.receiver + ", " + result.phone + ", " + result.address);
+                    }
+                });
+        }
+    </script>
+    <style>
+        #retry {
+            color: red;
+            font-size: 1.3rem;
+        }
+
+        .image {
+            width: 100%;
+            height: 510px;
+            border: 1px solid black;
+        }
+
+        #userinfo {
+            width: 100%;
+            height: 100px;
+            border: 1px solid black;
+        }
+
+        .image img {
+            margin: 5px;
+            padding-right: 5px;
+            width: 1000px;
+            height: 500px;
+            border: 1px solid black;
+        }
+
+        .detail {
+            margin: 5px;
+            float: right;
+            height: 500px;
+            border: 1px solid black;
+        }
+
+        #orderDetail {
+            margin: 5px;
+            border: 1px solid black;
+        }
+    </style>
+</head>
+
+<body>
+
+<p id="userinfo"></p>
+
+<div>
+    <div>
+        <div class="image">
+            <img src="goods.png"/>
+            <p style="width:100px;float:right;position:absolute;left:1115px;top:550px;">
+                <input style="width:100px;height:50px;" id=login onclick="buyNow()" type="button" value="Buy Now"/>
+            </p>
+            <div class="detail">
+
+                <ul>
+                    <li>SKU: ${item.sku}</li>
+                    <li>Name: ${item.itemName}</li>
+                    <li>Description: ${item.description}</li>
+                    <li><label>Comment: ${item.comment}</label></li>
+                    <li><label>Price: ${item.price}</label></li>
+                </ul>
+
+            </div>
+        </div>
+
+
+    </div>
+
+    <div id="orderDetail">
+
+    </div>
+
+</div>
+
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/templates/index.ftl b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/templates/index.ftl
new file mode 100755
index 0000000..a56ca78
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-frontend/src/main/resources/templates/index.ftl
@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <script src="jquery-3.6.3.min.js"></script>
+    <title>Dubbo Onling Shopping Demo</title>
+    <style type="text/css">
+        form {
+            width: 100%;
+            height: 100%;
+            font-size: 1.2rem;
+        }
+
+        div {
+            display: inline-block;
+            padding-bottom: 255px;
+            padding-left: 1px;
+            padding-right: 1px;
+        }
+
+        h2 {
+            font-size: 40px;
+            color: black;
+        }
+
+        #log {
+            color: blue;
+        }
+
+        ul li {
+            text-align: left;
+        }
+
+        .image img {
+            width: 550px;
+            height: 300px;
+            margin: 5px;
+            border: 1px solid black;
+        }
+    </style>
+
+    <script type="text/javascript">
+        function normalLogin() {
+            var username = $("#username").val();
+            var password = $("#password").val();
+
+            window.location.href = "/login?username=" + username + "&password=" + password;
+        }
+
+        function timeoutLogin() {
+            var username = $("#username").val();
+            var password = $("#password").val();
+
+            window.location.href = "/timeoutLogin?username=" + username + "&password=" + password;
+        }
+
+        function grayLogin() {
+            var username = $("#username").val();
+            var password = $("#password").val();
+
+            window.location.href = "/grayLogin?username=" + username + "&password=" + password;
+        }
+    </script>
+</head>
+<body>
+<!--div class="div">
+    <img src="favicon.png" width="100%" height="200px" alt=""  id="picture">
+</div-->
+<form id="loginForm" name="login" method="post">
+    <center>
+        <div>
+            <h2>
+                The Dubbo Online Shopping Mall Demo
+            </h2>
+            <p class="image">
+                <img src="architecture.png"/>
+            </p>
+            <#if result??>
+                <p style="color:red; font-size: 1.3rem">
+                    ${result}
+                </p>
+            </#if>
+            <p>
+            <p>
+                Username: <input id="username" type="text" name="username"/>
+            </p>
+            <p>
+                Password: <input id="password" type="password" name="password"/>
+            </p>
+            </p>
+            <p>
+                <input id=login onclick="normalLogin()" type="button" value="Login"/>
+                <input id=timeout-login onclick="timeoutLogin()" type="button" value="Timeout Login"/>
+                <input id=gray-login onclick="grayLogin()" type="button" value="Login To Gray"/>
+            </p>
+
+            <p>
+            <ul style="list-style-position:inside;">
+                <li>Input any username and password to login.</li>
+                <li>Use username 'dubbo' to test features like traffic isolation, argument routing, etc.</li>
+            </ul>
+            </p>
+        </div>
+    </center>
+</form>
+</body>
+</html>
\ No newline at end of file
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/pom.xml
similarity index 69%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
copy to 10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/pom.xml
index 90b1068..23e23aa 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/pom.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -18,19 +19,18 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-samples-spring-boot-tracing</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>23</version>
+        <relativePath/>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>dubbo-samples-spring-boot-tracing-interface</artifactId>
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-order-api</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
 
-    <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
-        <maven.deploy.skip>true</maven.deploy.skip>
-    </properties>
+    <name>Dubbo Task - Metrics Demo - Order's API</name>
+    <description>Dubbo Task - Metrics Demo - Order's API</description>
 
 </project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/src/main/java/org/apache/dubbo/samples/Order.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/src/main/java/org/apache/dubbo/samples/Order.java
new file mode 100644
index 0000000..0dd4398
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/src/main/java/org/apache/dubbo/samples/Order.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples;
+
+import java.io.Serializable;
+
+public class Order implements Serializable {
+    private long sku;
+    private int count;
+
+    private String address;
+    private String phone;
+    private String receiver;
+
+    public long getSku() {
+        return sku;
+    }
+
+    public void setSku(long sku) {
+        this.sku = sku;
+    }
+
+    public int getCount() {
+        return count;
+    }
+
+    public void setCount(int count) {
+        this.count = count;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getReceiver() {
+        return receiver;
+    }
+
+    public void setReceiver(String receiver) {
+        this.receiver = receiver;
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/src/main/java/org/apache/dubbo/samples/OrderDetail.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/src/main/java/org/apache/dubbo/samples/OrderDetail.java
new file mode 100644
index 0000000..b414313
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/src/main/java/org/apache/dubbo/samples/OrderDetail.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples;
+
+import java.io.Serializable;
+
+public class OrderDetail implements Serializable {
+    private String env;
+    private String address;
+    private String phone;
+    private String receiver;
+
+    public String getEnv() {
+        return env;
+    }
+
+    public void setEnv(String env) {
+        this.env = env;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getReceiver() {
+        return receiver;
+    }
+
+    public void setReceiver(String receiver) {
+        this.receiver = receiver;
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/src/main/java/org/apache/dubbo/samples/OrderService.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/src/main/java/org/apache/dubbo/samples/OrderService.java
new file mode 100644
index 0000000..260d714
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-api/src/main/java/org/apache/dubbo/samples/OrderService.java
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples;
+
+public interface OrderService {
+
+    OrderDetail submitOrder(Order order);
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/pom.xml
new file mode 100644
index 0000000..876fa0c
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/pom.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>3.0.0</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-order-v1</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+
+    <name>Dubbo Task - Metrics Demo - Order V1</name>
+    <description>Dubbo Task - Metrics Demo - Order - Version 1</description>
+
+    <properties>
+        <java.version>17</java.version>
+        <dubbo.version>3.2.1</dubbo.version>
+        <nacos.version>2.2.0</nacos.version>
+    </properties>
+
+    <dependencies>
+        <!-- common api -->
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-order-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <!-- registry dependency -->
+        <dependency>
+            <groupId>com.alibaba.nacos</groupId>
+            <artifactId>nacos-client</artifactId>
+            <version>${nacos.version}</version>
+        </dependency>
+
+        <!-- dubbo dependency-->
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-observability-autoconfigure</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.graalvm.buildtools</groupId>
+                <artifactId>native-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.google.cloud.tools</groupId>
+                <artifactId>jib-maven-plugin</artifactId>
+                <version>3.2.1</version>
+                <configuration>
+                    <from>
+                        <image>openjdk:17</image>
+                    </from>
+                    <to>
+                        <image>albumen/dubbo-demo:dubbo-samples-metrics-demo-order_v1_0.0.1</image>
+                    </to>
+                    <container>
+                        <jvmFlags>
+                            <jvmFlag>-Dnacos.address=nacos.dubbo-system.svc</jvmFlag>
+                        </jvmFlags>
+                        <ports>
+                            <port>20882</port>
+                            <port>20992</port>
+                        </ports>
+                    </container>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/src/main/java/org/apache/dubbo/samples/order/OrderApplicationV1.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/src/main/java/org/apache/dubbo/samples/order/OrderApplicationV1.java
new file mode 100644
index 0000000..1628e73
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/src/main/java/org/apache/dubbo/samples/order/OrderApplicationV1.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.order;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class OrderApplicationV1 {
+
+    public static void main(String[] args) {
+        SpringApplication.run(OrderApplicationV1.class, args);
+    }
+
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/src/main/java/org/apache/dubbo/samples/order/OrderServiceImpl.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/src/main/java/org/apache/dubbo/samples/order/OrderServiceImpl.java
new file mode 100644
index 0000000..794d4ad
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/src/main/java/org/apache/dubbo/samples/order/OrderServiceImpl.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.order;
+
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.Order;
+import org.apache.dubbo.samples.OrderDetail;
+import org.apache.dubbo.samples.OrderService;
+
+@DubboService
+public class OrderServiceImpl implements OrderService {
+    @Override
+    public OrderDetail submitOrder(Order order) {
+        // Do something that consumes resources
+        return null;
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/src/main/resources/application.properties b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/src/main/resources/application.properties
new file mode 100644
index 0000000..7fac9f5
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v1/src/main/resources/application.properties
@@ -0,0 +1,39 @@
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+# Specify the application name of Dubbo
+dubbo.application.name=shop-order
+spring.application.name=shop-order
+
+# Enable token verification for each invocation
+
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20882
+dubbo.application.qos-anonymous-allow-commands=metrics
+dubbo.metrics.aggregation.enabled=true
+dubbo.metrics.histogram.enabled=true
+
+dubbo.tracing.enabled=true
+dubbo.tracing.sampling.probability=0.001
+dubbo.tracing.propagation.type=W3C
+dubbo.tracing.tracing-exporter.zipkin-config.endpoint=http://zipkin.dubbo-system.svc:9411/api/v2/spans
+dubbo.tracing.tracing-exporter.zipkin-config.connect-timeout=1s
+dubbo.tracing.tracing-exporter.zipkin-config.read-timeout=10s
+
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/pom.xml
new file mode 100644
index 0000000..18fb830
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/pom.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>3.0.0</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-order-v2</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+
+    <name>Dubbo Task - Metrics Demo - Order V2</name>
+    <description>Dubbo Task - Metrics Demo - Order - Version 2</description>
+
+    <properties>
+        <java.version>17</java.version>
+        <dubbo.version>3.2.1</dubbo.version>
+        <nacos.version>2.2.0</nacos.version>
+    </properties>
+
+    <dependencies>
+        <!-- common api -->
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-order-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-detail-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <!-- registry dependency -->
+        <dependency>
+            <groupId>com.alibaba.nacos</groupId>
+            <artifactId>nacos-client</artifactId>
+            <version>${nacos.version}</version>
+        </dependency>
+
+        <!-- dubbo dependency-->
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-observability-autoconfigure</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.graalvm.buildtools</groupId>
+                <artifactId>native-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.google.cloud.tools</groupId>
+                <artifactId>jib-maven-plugin</artifactId>
+                <version>3.2.1</version>
+                <configuration>
+                    <from>
+                        <image>openjdk:17</image>
+                    </from>
+                    <to>
+                        <image>albumen/dubbo-demo:dubbo-samples-metrics-demo-order_v2_0.0.1</image>
+                    </to>
+                    <container>
+                        <jvmFlags>
+                            <jvmFlag>-Dnacos.address=nacos.dubbo-system.svc</jvmFlag>
+                        </jvmFlags>
+                        <ports>
+                            <port>20883</port>
+                            <port>20993</port>
+                        </ports>
+                    </container>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/src/main/java/org/apache/dubbo/samples/order/OrderApplicationV2.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/src/main/java/org/apache/dubbo/samples/order/OrderApplicationV2.java
new file mode 100644
index 0000000..3e3c273
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/src/main/java/org/apache/dubbo/samples/order/OrderApplicationV2.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.order;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class OrderApplicationV2 {
+
+    public static void main(String[] args) {
+        SpringApplication.run(OrderApplicationV2.class, args);
+    }
+
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/src/main/java/org/apache/dubbo/samples/order/OrderServiceImpl2.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/src/main/java/org/apache/dubbo/samples/order/OrderServiceImpl2.java
new file mode 100644
index 0000000..4b4964c
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/src/main/java/org/apache/dubbo/samples/order/OrderServiceImpl2.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.order;
+
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.DetailService;
+import org.apache.dubbo.samples.Order;
+import org.apache.dubbo.samples.OrderDetail;
+import org.apache.dubbo.samples.OrderService;
+
+@DubboService
+public class OrderServiceImpl2 implements OrderService {
+    @DubboReference
+    private DetailService detailService;
+
+    @Override
+    public OrderDetail submitOrder(Order order) {
+        // Do something that consumes resources
+        detailService.deductStock(order.getSku(), order.getCount());
+
+        OrderDetail orderDetail = new OrderDetail();
+        orderDetail.setEnv("v2");
+        orderDetail.setAddress(order.getAddress());
+        orderDetail.setReceiver(order.getReceiver());
+        orderDetail.setPhone(order.getPhone());
+        return orderDetail;
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/src/main/resources/application.properties b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/src/main/resources/application.properties
new file mode 100644
index 0000000..7df09f9
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-order-v2/src/main/resources/application.properties
@@ -0,0 +1,39 @@
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+# Specify the application name of Dubbo
+dubbo.application.name=shop-order
+spring.application.name=shop-order
+
+# Enable token verification for each invocation
+
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20883
+dubbo.application.qos-anonymous-allow-commands=metrics
+dubbo.metrics.aggregation.enabled=true
+dubbo.metrics.histogram.enabled=true
+
+dubbo.tracing.enabled=true
+dubbo.tracing.sampling.probability=0.001
+dubbo.tracing.propagation.type=W3C
+dubbo.tracing.tracing-exporter.zipkin-config.endpoint=http://zipkin.dubbo-system.svc:9411/api/v2/spans
+dubbo.tracing.tracing-exporter.zipkin-config.connect-timeout=1s
+dubbo.tracing.tracing-exporter.zipkin-config.read-timeout=10s
+
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user-api/pom.xml
similarity index 69%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
copy to 10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user-api/pom.xml
index 90b1068..dd17423 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user-api/pom.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -18,19 +19,18 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-samples-spring-boot-tracing</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>23</version>
+        <relativePath/>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>dubbo-samples-spring-boot-tracing-interface</artifactId>
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-user-api</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
 
-    <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
-        <maven.deploy.skip>true</maven.deploy.skip>
-    </properties>
+    <name>Dubbo Task - Metrics Demo - User's API</name>
+    <description>Dubbo Task - Metrics Demo - User's API</description>
 
 </project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user-api/src/main/java/org/apache/dubbo/samples/User.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user-api/src/main/java/org/apache/dubbo/samples/User.java
new file mode 100644
index 0000000..6aa4249
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user-api/src/main/java/org/apache/dubbo/samples/User.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples;
+
+import java.io.Serializable;
+
+public class User implements Serializable {
+    private String username;
+    private String password;
+    private String realName;
+    private String mail;
+    private String phone;
+    private String env;
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public String getMail() {
+        return mail;
+    }
+
+    public void setMail(String mail) {
+        this.mail = mail;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getEnv() {
+        return env;
+    }
+
+    public void setEnv(String env) {
+        this.env = env;
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user-api/src/main/java/org/apache/dubbo/samples/UserService.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user-api/src/main/java/org/apache/dubbo/samples/UserService.java
new file mode 100644
index 0000000..d2d8264
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user-api/src/main/java/org/apache/dubbo/samples/UserService.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples;
+
+public interface UserService {
+
+    boolean register(User user);
+
+    User login(String username, String password);
+
+    User timeoutLogin(String username, String password);
+
+    User getInfo(String username);
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/pom.xml b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/pom.xml
new file mode 100644
index 0000000..b58176d
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/pom.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>3.0.0</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+    <groupId>org.apache.dubbo.samples</groupId>
+    <artifactId>dubbo-samples-metrics-demo-user</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+
+    <name>Dubbo Task - Metrics Demo - User</name>
+    <description>Dubbo Task - Metrics Demo - User</description>
+
+    <properties>
+        <java.version>17</java.version>
+        <dubbo.version>3.2.1</dubbo.version>
+        <nacos.version>2.2.0</nacos.version>
+    </properties>
+
+    <dependencies>
+        <!-- common api -->
+        <dependency>
+            <groupId>org.apache.dubbo.samples</groupId>
+            <artifactId>dubbo-samples-metrics-demo-user-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <!-- registry dependency -->
+        <dependency>
+            <groupId>com.alibaba.nacos</groupId>
+            <artifactId>nacos-client</artifactId>
+            <version>${nacos.version}</version>
+        </dependency>
+
+        <!-- dubbo dependency-->
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-observability-autoconfigure</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+            <version>${dubbo.version}</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.graalvm.buildtools</groupId>
+                <artifactId>native-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.google.cloud.tools</groupId>
+                <artifactId>jib-maven-plugin</artifactId>
+                <version>3.2.1</version>
+                <configuration>
+                    <from>
+                        <image>openjdk:17</image>
+                    </from>
+                    <to>
+                        <image>albumen/dubbo-demo:dubbo-samples-metrics-demo-user_0.0.1</image>
+                    </to>
+                    <container>
+                        <jvmFlags>
+                            <jvmFlag>-Dnacos.address=nacos.dubbo-system.svc</jvmFlag>
+                        </jvmFlags>
+                        <ports>
+                            <port>20884</port>
+                            <port>20994</port>
+                        </ports>
+                    </container>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/src/main/java/org/apache/dubbo/samples/user/UserApplication.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/src/main/java/org/apache/dubbo/samples/user/UserApplication.java
new file mode 100644
index 0000000..36c34e7
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/src/main/java/org/apache/dubbo/samples/user/UserApplication.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.user;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class UserApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(UserApplication.class, args);
+    }
+
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/src/main/java/org/apache/dubbo/samples/user/UserServiceImpl.java b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/src/main/java/org/apache/dubbo/samples/user/UserServiceImpl.java
new file mode 100644
index 0000000..dc088d9
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/src/main/java/org/apache/dubbo/samples/user/UserServiceImpl.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.samples.user;
+
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.User;
+import org.apache.dubbo.samples.UserService;
+
+import java.util.concurrent.ThreadLocalRandom;
+
+@DubboService(timeout = 1000)
+public class UserServiceImpl implements UserService {
+    @Override
+    public boolean register(User user) {
+        // Do something that consumes resources
+        for (int i = 0; i < 100; i++) {
+            Math.pow(ThreadLocalRandom.current().nextDouble(10), ThreadLocalRandom.current().nextDouble(5));
+        }
+
+        return true;
+    }
+
+    @Override
+    public User login(String username, String password) {
+        // Do something that consumes resources
+        User user = new User();
+        user.setUsername(username);
+        user.setPassword(password);
+        user.setPhone("13912345678");
+        user.setMail("dev@dubbo.apache.org");
+        user.setRealName("Dubbo Test");
+        return user;
+    }
+
+    @Override
+    public User timeoutLogin(String username, String password) {
+        try {
+            Thread.sleep(1100);
+        } catch (InterruptedException ignore) {
+            Thread.currentThread().interrupt();
+        }
+        User user = new User();
+        user.setUsername(username);
+        user.setPassword(password);
+        user.setPhone("13912345678");
+        user.setMail("dev@dubbo.apache.org");
+        user.setRealName("Dubbo Test");
+        return user;
+    }
+
+    private int count = 1;
+
+    @Override
+    public User getInfo(String username) {
+        System.out.println("Received getInfo request......");
+        try {
+            if (++count % 3 != 0) {
+                Thread.sleep(3000);
+            }
+        } catch (InterruptedException ignore) {
+            Thread.currentThread().interrupt();
+        }
+        User user = new User();
+        user.setUsername(username);
+        user.setPassword("password");
+        user.setPhone("13912345678");
+        user.setMail("dev@dubbo.apache.org");
+        user.setRealName("Dubbo Test");
+        return user;
+    }
+}
diff --git a/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/src/main/resources/application.properties b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/src/main/resources/application.properties
new file mode 100644
index 0000000..573f613
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/dubbo-samples-metrics-demo-user/src/main/resources/application.properties
@@ -0,0 +1,41 @@
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+# Specify the application name of Dubbo
+dubbo.application.name=shop-user
+spring.application.name=shop-user
+
+# Specify the QoS port
+
+# Enable token verification for each invocation
+
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20884
+dubbo.application.qos-anonymous-allow-commands=metrics
+dubbo.metrics.aggregation.enabled=true
+dubbo.metrics.histogram.enabled=true
+
+dubbo.tracing.enabled=true
+dubbo.tracing.sampling.probability=0.001
+dubbo.tracing.propagation.type=W3C
+dubbo.tracing.tracing-exporter.zipkin-config.endpoint=http://zipkin.dubbo-system.svc:9411/api/v2/spans
+dubbo.tracing.tracing-exporter.zipkin-config.connect-timeout=1s
+dubbo.tracing.tracing-exporter.zipkin-config.read-timeout=10s
+
diff --git a/10-task/dubbo-samples-metrics-demo/pom.xml b/10-task/dubbo-samples-metrics-demo/pom.xml
new file mode 100644
index 0000000..6a5bbc9
--- /dev/null
+++ b/10-task/dubbo-samples-metrics-demo/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.apache.dubbo</groupId>
+    <artifactId>dubbo-samples-metrics-demo</artifactId>
+    <packaging>pom</packaging>
+    <version>1.0-SNAPSHOT</version>
+
+    <name>RPC Task - Shop</name>
+    <description>Dubbo Samples RPC Task - Shop</description>
+
+    <modules>
+        <module>dubbo-samples-metrics-demo-frontend-api</module>
+        <module>dubbo-samples-metrics-demo-frontend</module>
+        <module>dubbo-samples-metrics-demo-order-api</module>
+        <module>dubbo-samples-metrics-demo-order-v1</module>
+        <module>dubbo-samples-metrics-demo-order-v2</module>
+        <module>dubbo-samples-metrics-demo-comment-api</module>
+        <module>dubbo-samples-metrics-demo-comment-v1</module>
+        <module>dubbo-samples-metrics-demo-comment-v2</module>
+        <module>dubbo-samples-metrics-demo-detail-api</module>
+        <module>dubbo-samples-metrics-demo-detail-v1</module>
+        <module>dubbo-samples-metrics-demo-detail-v2</module>
+        <module>dubbo-samples-metrics-demo-user</module>
+        <module>dubbo-samples-metrics-demo-user-api</module>
+    </modules>
+</project>
diff --git a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/pom.xml b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/pom.xml
index a6c87b6..d14ee8d 100644
--- a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/pom.xml
+++ b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/pom.xml b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/pom.xml
index 984702b..2b2237d 100644
--- a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/pom.xml
+++ b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/pom.xml b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/pom.xml
index 3cf75f1..1934449 100644
--- a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/pom.xml
+++ b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/pom.xml b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/pom.xml
index 32732eb..09ab8a7 100644
--- a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/pom.xml
+++ b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/pom.xml b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/pom.xml
index 223582e..f850e77 100644
--- a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/pom.xml
+++ b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/pom.xml b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/pom.xml
index a0c6cfa..66db598 100644
--- a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/pom.xml
+++ b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
@@ -105,4 +105,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/pom.xml b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/pom.xml
index 9dd0266..cc1dab6 100644
--- a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/pom.xml
+++ b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/.run/CommentApplication1.run.xml b/10-task/dubbo-samples-shop/.run/CommentApplication1.run.xml
index 1fcd9ef..29e74c8 100644
--- a/10-task/dubbo-samples-shop/.run/CommentApplication1.run.xml
+++ b/10-task/dubbo-samples-shop/.run/CommentApplication1.run.xml
@@ -1,15 +1,13 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="CommentApplication1" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-comment-v1"/>
-        <selectedOptions>
-            <option name="environmentVariables"/>
-        </selectedOptions>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.comment.CommentApplication"/>
-        <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;commentVersion=v1;region=beijing&quot;"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="CommentApplication1" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-comment-v1" />
+    <selectedOptions>
+      <option name="environmentVariables" />
+    </selectedOptions>
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.comment.CommentApplication" />
+    <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;commentVersion=v1;region=beijing&quot;" />
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/CommentApplication2.run.xml b/10-task/dubbo-samples-shop/.run/CommentApplication2.run.xml
index afab606..a47a5e5 100644
--- a/10-task/dubbo-samples-shop/.run/CommentApplication2.run.xml
+++ b/10-task/dubbo-samples-shop/.run/CommentApplication2.run.xml
@@ -1,15 +1,13 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="CommentApplication2" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-comment-v2"/>
-        <selectedOptions>
-            <option name="environmentVariables"/>
-        </selectedOptions>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.comment.CommentApplication2"/>
-        <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;commentVersion=v2;region=hangzhou;type=vip&quot;"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="CommentApplication2" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-comment-v2" />
+    <selectedOptions>
+      <option name="environmentVariables" />
+    </selectedOptions>
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.comment.CommentApplication2" />
+    <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;commentVersion=v2;region=hangzhou;type=vip&quot;" />
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/CommentApplicationGray.run.xml b/10-task/dubbo-samples-shop/.run/CommentApplicationGray.run.xml
index a3051ac..177ca3a 100644
--- a/10-task/dubbo-samples-shop/.run/CommentApplicationGray.run.xml
+++ b/10-task/dubbo-samples-shop/.run/CommentApplicationGray.run.xml
@@ -1,12 +1,10 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="CommentApplicationGray" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-comment-gray"/>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.comment.CommentApplicationGray"/>
-        <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;env=gray&quot;"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="CommentApplicationGray" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-comment-gray" />
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.comment.CommentApplicationGray" />
+    <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;env=gray&quot;" />
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/DetailApplication1.run.xml b/10-task/dubbo-samples-shop/.run/DetailApplication1.run.xml
index 5c7405b..37d568d 100644
--- a/10-task/dubbo-samples-shop/.run/DetailApplication1.run.xml
+++ b/10-task/dubbo-samples-shop/.run/DetailApplication1.run.xml
@@ -1,21 +1,19 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="DetailApplication1" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-detail-v1"/>
-        <selectedOptions>
-            <option name="environmentVariables"/>
-        </selectedOptions>
-        <extension name="coverage">
-            <pattern>
-                <option name="PATTERN" value="org.apache.dubbo.samples.detail.*"/>
-                <option name="ENABLED" value="true"/>
-            </pattern>
-        </extension>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.detail.DetailApplication"/>
-        <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;detailVersion=v1;region=beijing&quot;"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="DetailApplication1" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-detail-v1" />
+    <selectedOptions>
+      <option name="environmentVariables" />
+    </selectedOptions>
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.detail.DetailApplication" />
+    <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;detailVersion=v1;region=beijing&quot;" />
+    <extension name="coverage">
+      <pattern>
+        <option name="PATTERN" value="org.apache.dubbo.samples.detail.*" />
+        <option name="ENABLED" value="true" />
+      </pattern>
+    </extension>
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/DetailApplication2.run.xml b/10-task/dubbo-samples-shop/.run/DetailApplication2.run.xml
index ef928da..7c4d858 100644
--- a/10-task/dubbo-samples-shop/.run/DetailApplication2.run.xml
+++ b/10-task/dubbo-samples-shop/.run/DetailApplication2.run.xml
@@ -1,21 +1,19 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="DetailApplication2" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-detail-v2"/>
-        <selectedOptions>
-            <option name="environmentVariables"/>
-        </selectedOptions>
-        <extension name="coverage">
-            <pattern>
-                <option name="PATTERN" value="org.apache.dubbo.samples.detail.*"/>
-                <option name="ENABLED" value="true"/>
-            </pattern>
-        </extension>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.detail.DetailApplication2"/>
-        <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;detailVersion=v2;region=hangzhou;type=vip&quot;"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="DetailApplication2" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-detail-v2" />
+    <selectedOptions>
+      <option name="environmentVariables" />
+    </selectedOptions>
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.detail.DetailApplication2" />
+    <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;detailVersion=v2;region=hangzhou;type=vip&quot;" />
+    <extension name="coverage">
+      <pattern>
+        <option name="PATTERN" value="org.apache.dubbo.samples.detail.*" />
+        <option name="ENABLED" value="true" />
+      </pattern>
+    </extension>
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/DetailApplicationGray.run.xml b/10-task/dubbo-samples-shop/.run/DetailApplicationGray.run.xml
index f9932aa..8d7f038 100644
--- a/10-task/dubbo-samples-shop/.run/DetailApplicationGray.run.xml
+++ b/10-task/dubbo-samples-shop/.run/DetailApplicationGray.run.xml
@@ -1,12 +1,10 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="DetailApplicationGray" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-detail-gray"/>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.detail.DetailApplicationGray"/>
-        <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;env=gray&quot;"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="DetailApplicationGray" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-detail-gray" />
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.detail.DetailApplicationGray" />
+    <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;env=gray&quot;" />
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/FrontEndApplication.run.xml b/10-task/dubbo-samples-shop/.run/FrontEndApplication.run.xml
index 5dc6406..b7ba6bd 100644
--- a/10-task/dubbo-samples-shop/.run/FrontEndApplication.run.xml
+++ b/10-task/dubbo-samples-shop/.run/FrontEndApplication.run.xml
@@ -1,11 +1,9 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="FrontEndApplication" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-frontend"/>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.frontend.FrontEndApplication"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="FrontEndApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-frontend" />
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.frontend.FrontEndApplication" />
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/OrderApplication1.run.xml b/10-task/dubbo-samples-shop/.run/OrderApplication1.run.xml
index e2a2709..aa9ff06 100644
--- a/10-task/dubbo-samples-shop/.run/OrderApplication1.run.xml
+++ b/10-task/dubbo-samples-shop/.run/OrderApplication1.run.xml
@@ -1,12 +1,10 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="OrderApplication1" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-order-v1"/>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.order.OrderApplicationV1"/>
-        <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;orderVersion=v1&quot;"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="OrderApplication1" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-order-v1" />
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.order.OrderApplicationV1" />
+    <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;orderVersion=v1&quot;" />
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/OrderApplication2.run.xml b/10-task/dubbo-samples-shop/.run/OrderApplication2.run.xml
index d005335..79be85c 100644
--- a/10-task/dubbo-samples-shop/.run/OrderApplication2.run.xml
+++ b/10-task/dubbo-samples-shop/.run/OrderApplication2.run.xml
@@ -1,12 +1,10 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="OrderApplication2" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-order-v2"/>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.order.OrderApplicationV2"/>
-        <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;orderVersion=v2&quot;"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="OrderApplication2" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-order-v2" />
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.order.OrderApplicationV2" />
+    <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;orderVersion=v2&quot;" />
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/OrderApplicationGray.run.xml b/10-task/dubbo-samples-shop/.run/OrderApplicationGray.run.xml
index ec7c972..4f5a4ea 100644
--- a/10-task/dubbo-samples-shop/.run/OrderApplicationGray.run.xml
+++ b/10-task/dubbo-samples-shop/.run/OrderApplicationGray.run.xml
@@ -1,12 +1,10 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="OrderApplicationGray" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-order-gray"/>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.order.OrderApplicationGray"/>
-        <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;env=gray&quot;"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="OrderApplicationGray" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-order-gray" />
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.order.OrderApplicationGray" />
+    <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;env=gray&quot;" />
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/UserApplication.run.xml b/10-task/dubbo-samples-shop/.run/UserApplication.run.xml
index c825118..9a5ea8f 100644
--- a/10-task/dubbo-samples-shop/.run/UserApplication.run.xml
+++ b/10-task/dubbo-samples-shop/.run/UserApplication.run.xml
@@ -1,11 +1,9 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="UserApplication" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-user"/>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.user.UserApplication"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="UserApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-user" />
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.user.UserApplication" />
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/.run/UserApplicationGray.run.xml b/10-task/dubbo-samples-shop/.run/UserApplicationGray.run.xml
index 1965595..680a09f 100644
--- a/10-task/dubbo-samples-shop/.run/UserApplicationGray.run.xml
+++ b/10-task/dubbo-samples-shop/.run/UserApplicationGray.run.xml
@@ -1,11 +1,10 @@
 <component name="ProjectRunConfigurationManager">
-    <configuration default="false" name="UserApplicationGray" type="SpringBootApplicationConfigurationType"
-                   factoryName="Spring Boot">
-        <module name="dubbo-samples-shop-user-gray"/>
-        <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.user.UserApplicationGray"/>
-        <option name="ALTERNATIVE_JRE_PATH"/>
-        <method v="2">
-            <option name="Make" enabled="true"/>
-        </method>
-    </configuration>
+  <configuration default="false" name="UserApplicationGray" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" folderName="tasks-shop">
+    <module name="dubbo-samples-shop-user-gray" />
+    <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.dubbo.samples.user.UserApplicationGray" />
+    <option name="VM_PARAMETERS" value="-Ddubbo.labels=&quot;env=gray&quot;" />
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
 </component>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/README.md b/10-task/dubbo-samples-shop/README.md
index 015ec55..48ecbb8 100644
--- a/10-task/dubbo-samples-shop/README.md
+++ b/10-task/dubbo-samples-shop/README.md
@@ -1,4 +1,4 @@
-此任务基于一个简单的线上商城微服务系统演示了 Dubbo 的流量管控能力。用于配合 【Dubbo 官网】-【文档】-【任务】-【流量管控】部分文档。
+此任务基于一个简单的线上商城微服务系统演示了 Dubbo 的流量管控能力。用于配合 [【Dubbo 官网】-【文档】-【任务】-【流量管控】](https://cn.dubbo.apache.org/zh-cn/overview/tasks/traffic-management/)部分文档。
 
 ## 架构
 线上商城的架构图如下:
@@ -27,9 +27,9 @@
 
 ![ide_runnable_task_configuration](./.images/ide_runnable_task_configuration.png)
 
-接下来,你就可以跟随 Dubbo 官网描述的任务,启动相应的任务示例,并运行查看效果。
+接下来,你就可以跟随 [Dubbo 官网描述的任务](https://cn.dubbo.apache.org/zh-cn/overview/tasks/traffic-management/),启动相应的任务示例,并运行查看效果。
 
-> 注意,要成功的在本地运行这里的示例,还需要先在本地启动 Nacos 注册中心、Dubbo Admin 等基础组件。
+> 注意,要成功的在本地运行这里的示例,还需要先在本地启动 Nacos 注册中心,最好再部署 Dubbo Admin 等以方便进行规则配置。
 
 ### Kubernetes 部署
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-gray/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-gray/pom.xml
index f60c929..4634c0a 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-gray/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-gray/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-v1/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-v1/pom.xml
index ae0992d..7369543 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-v1/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-v1/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-v2/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-v2/pom.xml
index 74047ba..5af1d10 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-v2/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-comment-v2/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-gray/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-gray/pom.xml
index 67964b1..35ab43f 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-gray/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-gray/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-v1/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-v1/pom.xml
index 09f4b36..cb2d3be 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-v1/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-v1/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-v2/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-v2/pom.xml
index af05074..d77b2b6 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-v2/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-detail-v2/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-frontend/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-frontend/pom.xml
index 6a935e0..08fab76 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-frontend/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-frontend/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-frontend/src/main/resources/templates/index.ftl b/10-task/dubbo-samples-shop/dubbo-samples-shop-frontend/src/main/resources/templates/index.ftl
index a56ca78..3d99810 100755
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-frontend/src/main/resources/templates/index.ftl
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-frontend/src/main/resources/templates/index.ftl
@@ -98,6 +98,7 @@
             <ul style="list-style-position:inside;">
                 <li>Input any username and password to login.</li>
                 <li>Use username 'dubbo' to test features like traffic isolation, argument routing, etc.</li>
+                <li>Check <a href="https://cn.dubbo.apache.org/zh-cn/overview/tasks/traffic-management/" target="_blank">the official traffic management task</a> for how to use this demo.</li>
             </ul>
             </p>
         </div>
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-order-gray/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-order-gray/pom.xml
index 1b7a617..3c5fdda 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-order-gray/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-order-gray/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-order-v1/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-order-v1/pom.xml
index 7e619dc..91fb15d 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-order-v1/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-order-v1/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-order-v2/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-order-v2/pom.xml
index eb4c362..5855eed 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-order-v2/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-order-v2/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-user-gray/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-user-gray/pom.xml
index dad364e..2fbf2e8 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-user-gray/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-user-gray/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/dubbo-samples-shop/dubbo-samples-shop-user/pom.xml b/10-task/dubbo-samples-shop/dubbo-samples-shop-user/pom.xml
index b16905c..95a96df 100644
--- a/10-task/dubbo-samples-shop/dubbo-samples-shop-user/pom.xml
+++ b/10-task/dubbo-samples-shop/dubbo-samples-shop-user/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
diff --git a/10-task/pom.xml b/10-task/pom.xml
index 72626d7..4209117 100644
--- a/10-task/pom.xml
+++ b/10-task/pom.xml
@@ -30,7 +30,8 @@
         <module>dubbo-samples-rpc-basic</module>
         <module>dubbo-samples-rpc-advanced</module>
         <module>dubbo-samples-shop</module>
+        <module>dubbo-samples-metrics-demo</module>
         <module>dubbo-samples-develop</module>
         <module>dubbo-samples-extensibility</module>
     </modules>
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-async/dubbo-sample-async-generated-future-springboot/dubbo-samples-async-generated-future-springboot-consumer/pom.xml b/2-advanced/dubbo-samples-async/dubbo-sample-async-generated-future-springboot/dubbo-samples-async-generated-future-springboot-consumer/pom.xml
index 1fd8c2c..224da49 100644
--- a/2-advanced/dubbo-samples-async/dubbo-sample-async-generated-future-springboot/dubbo-samples-async-generated-future-springboot-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-async/dubbo-sample-async-generated-future-springboot/dubbo-samples-async-generated-future-springboot-consumer/pom.xml
@@ -44,7 +44,7 @@
         <!-- zookeeper	-->
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-async/dubbo-sample-async-generated-future-springboot/pom.xml b/2-advanced/dubbo-samples-async/dubbo-sample-async-generated-future-springboot/pom.xml
index cc38d7c..2d4f934 100644
--- a/2-advanced/dubbo-samples-async/dubbo-sample-async-generated-future-springboot/pom.xml
+++ b/2-advanced/dubbo-samples-async/dubbo-sample-async-generated-future-springboot/pom.xml
@@ -37,7 +37,7 @@
     <description>Dubbo Samples Async Generated Future In SpringBoot</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring-boot.version>2.7.8</spring-boot.version>
         <maven.compiler.source>1.8</maven.compiler.source>
diff --git a/2-advanced/dubbo-samples-async/dubbo-samples-async-generated-future-springboot/pom.xml b/2-advanced/dubbo-samples-async/dubbo-samples-async-generated-future-springboot/pom.xml
index dcbf164..637110b 100644
--- a/2-advanced/dubbo-samples-async/dubbo-samples-async-generated-future-springboot/pom.xml
+++ b/2-advanced/dubbo-samples-async/dubbo-samples-async-generated-future-springboot/pom.xml
@@ -39,7 +39,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring-boot.version>2.7.8</spring-boot.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
@@ -85,7 +85,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/2-advanced/dubbo-samples-async/dubbo-samples-async-generated-future/pom.xml b/2-advanced/dubbo-samples-async/dubbo-samples-async-generated-future/pom.xml
index d86cc85..43f01df 100644
--- a/2-advanced/dubbo-samples-async/dubbo-samples-async-generated-future/pom.xml
+++ b/2-advanced/dubbo-samples-async/dubbo-samples-async-generated-future/pom.xml
@@ -33,9 +33,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -59,12 +60,20 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
 
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -80,10 +89,46 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
+
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
diff --git a/2-advanced/dubbo-samples-async/dubbo-samples-async-onerror/pom.xml b/2-advanced/dubbo-samples-async/dubbo-samples-async-onerror/pom.xml
index 04463ea..7f7ee6a 100644
--- a/2-advanced/dubbo-samples-async/dubbo-samples-async-onerror/pom.xml
+++ b/2-advanced/dubbo-samples-async/dubbo-samples-async-onerror/pom.xml
@@ -34,7 +34,7 @@
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
         <spring.version>4.3.29.RELEASE</spring.version>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <validation-api.version>1.1.0.Final</validation-api.version>
         <hibernate-validator.version>6.0.23.Final</hibernate-validator.version>
         <resteasy.version>3.0.19.Final</resteasy.version>
@@ -42,6 +42,7 @@
         <tomcat.version>7.0.88</tomcat.version>
         <servlet.version>3.0.1</servlet.version>
         <spring-boot.version>1.5.13.RELEASE</spring-boot.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
     </properties>
 
     <dependencyManagement>
@@ -62,11 +63,6 @@
                 <scope>import</scope>
             </dependency>
             <dependency>
-                <groupId>io.netty</groupId>
-                <artifactId>netty-all</artifactId>
-                <version>4.1.56.Final</version>
-            </dependency>
-            <dependency>
                 <groupId>org.apache.dubbo</groupId>
                 <artifactId>dubbo-bom</artifactId>
                 <version>${dubbo.version}</version>
@@ -74,72 +70,31 @@
                 <scope>import</scope>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-bom</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
-                <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo</artifactId>
-                <version>${dubbo.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.apache.thrift</groupId>
-                        <artifactId>libthrift</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-rpc-rest</artifactId>
-                <version>${dubbo.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-configcenter-zookeeper</artifactId>
-                <version>${dubbo.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>javax.validation</groupId>
-                <artifactId>validation-api</artifactId>
-                <version>${validation-api.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.hibernate</groupId>
-                <artifactId>hibernate-validator</artifactId>
-                <version>${hibernate-validator.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.jboss.resteasy</groupId>
-                <artifactId>resteasy-jackson-provider</artifactId>
-                <version>${resteasy.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>javax.servlet</groupId>
-                <artifactId>javax.servlet-api</artifactId>
-                <version>${servlet.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.tomcat.embed</groupId>
-                <artifactId>tomcat-embed-core</artifactId>
-                <version>${tomcat.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.tomcat.embed</groupId>
-                <artifactId>tomcat-embed-logging-juli</artifactId>
-                <version>${tomcat.version}</version>
-            </dependency>
-            <!-- swagger -->
-            <dependency>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-annotations</artifactId>
-                <version>${swagger.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-jaxrs</artifactId>
-                <version>${swagger.version}</version>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
             </dependency>
         </dependencies>
     </dependencyManagement>
@@ -147,22 +102,13 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo</artifactId>
         </dependency>
-<!--        <dependency>-->
-<!--            <groupId>org.apache.dubbo</groupId>-->
-<!--            <artifactId>dubbo-configcenter-zookeeper</artifactId>-->
-<!--            <version>${dubbo.version}</version>-->
-<!--        </dependency>-->
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-all</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
@@ -184,6 +130,41 @@
             <scope>test</scope>
         </dependency>
 
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
 
diff --git a/2-advanced/dubbo-samples-async/dubbo-samples-async-original-future/pom.xml b/2-advanced/dubbo-samples-async/dubbo-samples-async-original-future/pom.xml
index da60eab..d5d6e09 100644
--- a/2-advanced/dubbo-samples-async/dubbo-samples-async-original-future/pom.xml
+++ b/2-advanced/dubbo-samples-async/dubbo-samples-async-original-future/pom.xml
@@ -33,9 +33,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -59,12 +60,20 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
 
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -80,7 +89,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -95,6 +104,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/2-advanced/dubbo-samples-async/dubbo-samples-async-provider/case-configuration.yml b/2-advanced/dubbo-samples-async/dubbo-samples-async-provider/case-configuration.yml
index d88fa20..3c87b81 100644
--- a/2-advanced/dubbo-samples-async/dubbo-samples-async-provider/case-configuration.yml
+++ b/2-advanced/dubbo-samples-async/dubbo-samples-async-provider/case-configuration.yml
@@ -22,7 +22,6 @@
   zookeeper_port: 2181
   dubbo_port: 20880
 
-
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
diff --git a/2-advanced/dubbo-samples-async/dubbo-samples-async-provider/pom.xml b/2-advanced/dubbo-samples-async/dubbo-samples-async-provider/pom.xml
index 27fc382..252a07a 100644
--- a/2-advanced/dubbo-samples-async/dubbo-samples-async-provider/pom.xml
+++ b/2-advanced/dubbo-samples-async/dubbo-samples-async-provider/pom.xml
@@ -33,9 +33,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -59,12 +60,20 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
 
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -80,7 +89,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -95,6 +104,41 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/2-advanced/dubbo-samples-async/dubbo-samples-async-simple-boot/pom.xml b/2-advanced/dubbo-samples-async/dubbo-samples-async-simple-boot/pom.xml
index 2fdb409..c50367f 100644
--- a/2-advanced/dubbo-samples-async/dubbo-samples-async-simple-boot/pom.xml
+++ b/2-advanced/dubbo-samples-async/dubbo-samples-async-simple-boot/pom.xml
@@ -42,7 +42,7 @@
     </modules>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring-boot.version>2.7.8</spring-boot.version>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
@@ -106,4 +106,4 @@
             </plugins>
         </pluginManagement>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-async/dubbo-samples-async-simple/pom.xml b/2-advanced/dubbo-samples-async/dubbo-samples-async-simple/pom.xml
index e9ad71e..7eea04f 100644
--- a/2-advanced/dubbo-samples-async/dubbo-samples-async-simple/pom.xml
+++ b/2-advanced/dubbo-samples-async/dubbo-samples-async-simple/pom.xml
@@ -33,9 +33,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -58,8 +59,16 @@
             </dependency>
 
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -80,7 +89,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -95,6 +104,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/2-advanced/dubbo-samples-attachment/dubbo-samples-attachment-consumer/pom.xml b/2-advanced/dubbo-samples-attachment/dubbo-samples-attachment-consumer/pom.xml
index 171bb12..c6e2633 100644
--- a/2-advanced/dubbo-samples-attachment/dubbo-samples-attachment-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-attachment/dubbo-samples-attachment-consumer/pom.xml
@@ -35,7 +35,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-attachment/dubbo-samples-attachment-provider/pom.xml b/2-advanced/dubbo-samples-attachment/dubbo-samples-attachment-provider/pom.xml
index b6a3a08..98799b8 100644
--- a/2-advanced/dubbo-samples-attachment/dubbo-samples-attachment-provider/pom.xml
+++ b/2-advanced/dubbo-samples-attachment/dubbo-samples-attachment-provider/pom.xml
@@ -42,7 +42,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-attachment/pom.xml b/2-advanced/dubbo-samples-attachment/pom.xml
index 34dfc0b..0c8de62 100644
--- a/2-advanced/dubbo-samples-attachment/pom.xml
+++ b/2-advanced/dubbo-samples-attachment/pom.xml
@@ -37,7 +37,7 @@
     <description>Dubbo Samples Attachment</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring-boot.version>2.7.8</spring-boot.version>
         <maven.compiler.source>1.8</maven.compiler.source>
@@ -71,7 +71,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
diff --git a/2-advanced/dubbo-samples-autowire/dubbo-samples-autowire-consumer/pom.xml b/2-advanced/dubbo-samples-autowire/dubbo-samples-autowire-consumer/pom.xml
index 870f355..5d3b2f6 100644
--- a/2-advanced/dubbo-samples-autowire/dubbo-samples-autowire-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-autowire/dubbo-samples-autowire-consumer/pom.xml
@@ -41,7 +41,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-autowire/pom.xml b/2-advanced/dubbo-samples-autowire/pom.xml
index c86f6b3..696b599 100644
--- a/2-advanced/dubbo-samples-autowire/pom.xml
+++ b/2-advanced/dubbo-samples-autowire/pom.xml
@@ -44,7 +44,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring-boot.version>2.7.8</spring-boot.version>
         <junit.version>4.13.1</junit.version>
         <maven.compiler.source>1.8</maven.compiler.source>
diff --git a/2-advanced/dubbo-samples-cache/dubbo-samples-cache-consumer/pom.xml b/2-advanced/dubbo-samples-cache/dubbo-samples-cache-consumer/pom.xml
index 0a66d02..3f8e09d 100644
--- a/2-advanced/dubbo-samples-cache/dubbo-samples-cache-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-cache/dubbo-samples-cache-consumer/pom.xml
@@ -34,7 +34,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-cache/dubbo-samples-cache-provider/pom.xml b/2-advanced/dubbo-samples-cache/dubbo-samples-cache-provider/pom.xml
index 3547931..229b29e 100644
--- a/2-advanced/dubbo-samples-cache/dubbo-samples-cache-provider/pom.xml
+++ b/2-advanced/dubbo-samples-cache/dubbo-samples-cache-provider/pom.xml
@@ -42,7 +42,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-cache/pom.xml b/2-advanced/dubbo-samples-cache/pom.xml
index 2b8b3c3..49e5747 100644
--- a/2-advanced/dubbo-samples-cache/pom.xml
+++ b/2-advanced/dubbo-samples-cache/pom.xml
@@ -37,7 +37,7 @@
     <description>Dubbo Samples Cache</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring-boot.version>2.7.8</spring-boot.version>
         <maven.compiler.source>1.8</maven.compiler.source>
@@ -71,7 +71,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
diff --git a/2-advanced/dubbo-samples-callback/dubbo-samples-callback-consumer/pom.xml b/2-advanced/dubbo-samples-callback/dubbo-samples-callback-consumer/pom.xml
index 621c90a..78246e2 100644
--- a/2-advanced/dubbo-samples-callback/dubbo-samples-callback-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-callback/dubbo-samples-callback-consumer/pom.xml
@@ -39,7 +39,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-callback/dubbo-samples-callback-provider/pom.xml b/2-advanced/dubbo-samples-callback/dubbo-samples-callback-provider/pom.xml
index 05d9d49..210760c 100644
--- a/2-advanced/dubbo-samples-callback/dubbo-samples-callback-provider/pom.xml
+++ b/2-advanced/dubbo-samples-callback/dubbo-samples-callback-provider/pom.xml
@@ -40,7 +40,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-callback/pom.xml b/2-advanced/dubbo-samples-callback/pom.xml
index caad8f9..da93df3 100644
--- a/2-advanced/dubbo-samples-callback/pom.xml
+++ b/2-advanced/dubbo-samples-callback/pom.xml
@@ -36,7 +36,7 @@
     <description>Dubbo Samples Callback</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring-boot.version>2.7.8</spring-boot.version>
         <maven.compiler.source>1.8</maven.compiler.source>
@@ -68,7 +68,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
                 <exclusions>
diff --git a/2-advanced/dubbo-samples-chain/pom.xml b/2-advanced/dubbo-samples-chain/pom.xml
index 41ccc77..914a5ba 100644
--- a/2-advanced/dubbo-samples-chain/pom.xml
+++ b/2-advanced/dubbo-samples-chain/pom.xml
@@ -33,7 +33,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -64,7 +64,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -79,7 +79,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/2-advanced/dubbo-samples-cloud-native/dubbo-call-scdubbo/dubbo-scdubbo-provider2/pom.xml b/2-advanced/dubbo-samples-cloud-native/dubbo-call-scdubbo/dubbo-scdubbo-provider2/pom.xml
index 37a43c8..9503c22 100644
--- a/2-advanced/dubbo-samples-cloud-native/dubbo-call-scdubbo/dubbo-scdubbo-provider2/pom.xml
+++ b/2-advanced/dubbo-samples-cloud-native/dubbo-call-scdubbo/dubbo-scdubbo-provider2/pom.xml
@@ -86,6 +86,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -95,6 +96,7 @@
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
         </dependency>
     </dependencies>
 
diff --git a/2-advanced/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/pom.xml b/2-advanced/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/pom.xml
index 51c5dd4..9049f0f 100644
--- a/2-advanced/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/pom.xml
+++ b/2-advanced/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/pom.xml
@@ -42,7 +42,7 @@
         <target.level>1.8</target.level>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
         <spring.version>4.3.29.RELEASE</spring.version>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
     </properties>
 
@@ -63,6 +63,13 @@
                 <scope>import</scope>
             </dependency>
             <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-bom</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>com.google.guava</groupId>
                 <artifactId>guava</artifactId>
                 <version>27.1-jre</version>
diff --git a/2-advanced/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/servicediscovery-provider/pom.xml b/2-advanced/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/servicediscovery-provider/pom.xml
index 8e68f06..5f402e0 100644
--- a/2-advanced/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/servicediscovery-provider/pom.xml
+++ b/2-advanced/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/servicediscovery-provider/pom.xml
@@ -85,6 +85,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -94,6 +95,7 @@
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
         </dependency>
     </dependencies>
 
diff --git a/2-advanced/dubbo-samples-cloud-native/dubbo-servicediscovery-migration/pom.xml b/2-advanced/dubbo-samples-cloud-native/dubbo-servicediscovery-migration/pom.xml
index 27e9698..dda215f 100644
--- a/2-advanced/dubbo-samples-cloud-native/dubbo-servicediscovery-migration/pom.xml
+++ b/2-advanced/dubbo-samples-cloud-native/dubbo-servicediscovery-migration/pom.xml
@@ -38,7 +38,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -63,7 +63,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -78,7 +78,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -127,4 +127,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-cloud-native/sc-call-dubbo/sc-dubbo-provider/pom.xml b/2-advanced/dubbo-samples-cloud-native/sc-call-dubbo/sc-dubbo-provider/pom.xml
index 5d00b5a..ad3906e 100644
--- a/2-advanced/dubbo-samples-cloud-native/sc-call-dubbo/sc-dubbo-provider/pom.xml
+++ b/2-advanced/dubbo-samples-cloud-native/sc-call-dubbo/sc-dubbo-provider/pom.xml
@@ -98,6 +98,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -107,6 +108,7 @@
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
         </dependency>
     </dependencies>
 
diff --git a/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/pom.xml b/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/pom.xml
index 1494d1d..d1ebf3e 100644
--- a/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/pom.xml
+++ b/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/pom.xml
@@ -43,7 +43,7 @@
         <target.level>1.8</target.level>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
         <spring.version>4.3.29.RELEASE</spring.version>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
     </properties>
 
@@ -64,6 +64,12 @@
                 <scope>import</scope>
             </dependency>
             <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+            </dependency>
+            <dependency>
                 <groupId>com.google.guava</groupId>
                 <artifactId>guava</artifactId>
                 <version>27.1-jre</version>
@@ -78,7 +84,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
     </dependencies>
diff --git a/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/servicediscovery-transfer-provider-instance/pom.xml b/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/servicediscovery-transfer-provider-instance/pom.xml
index fd576ac..5fab5ae 100644
--- a/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/servicediscovery-transfer-provider-instance/pom.xml
+++ b/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/servicediscovery-transfer-provider-instance/pom.xml
@@ -41,6 +41,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -50,6 +51,7 @@
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
         </dependency>
     </dependencies>
 
diff --git a/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/servicediscovery-transfer-provider/pom.xml b/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/servicediscovery-transfer-provider/pom.xml
index 656c5c2..18ee292 100644
--- a/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/servicediscovery-transfer-provider/pom.xml
+++ b/2-advanced/dubbo-samples-cloud-native/servicediscovery-transfer/servicediscovery-transfer-provider/pom.xml
@@ -41,6 +41,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -50,6 +51,7 @@
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
         </dependency>
     </dependencies>
 
diff --git a/2-advanced/dubbo-samples-compatible/pom.xml b/2-advanced/dubbo-samples-compatible/pom.xml
index 93d2d50..dcde397 100644
--- a/2-advanced/dubbo-samples-compatible/pom.xml
+++ b/2-advanced/dubbo-samples-compatible/pom.xml
@@ -33,9 +33,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -57,10 +58,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -72,7 +80,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -88,6 +96,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/2-advanced/dubbo-samples-context/pom.xml b/2-advanced/dubbo-samples-context/pom.xml
index 0eecebb..b91a67c 100644
--- a/2-advanced/dubbo-samples-context/pom.xml
+++ b/2-advanced/dubbo-samples-context/pom.xml
@@ -30,9 +30,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -54,10 +55,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -69,7 +77,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -87,6 +95,41 @@
         </dependency>
 
 
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/2-advanced/dubbo-samples-direct/pom.xml b/2-advanced/dubbo-samples-direct/pom.xml
index 393df29..10d6dfc 100644
--- a/2-advanced/dubbo-samples-direct/pom.xml
+++ b/2-advanced/dubbo-samples-direct/pom.xml
@@ -30,7 +30,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -54,7 +54,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -69,7 +69,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/2-advanced/dubbo-samples-docker/pom.xml b/2-advanced/dubbo-samples-docker/pom.xml
index 5fb4748..e3e101f 100644
--- a/2-advanced/dubbo-samples-docker/pom.xml
+++ b/2-advanced/dubbo-samples-docker/pom.xml
@@ -30,7 +30,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring-boot.version>1.5.21.RELEASE</spring-boot.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -55,7 +55,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -69,7 +69,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-echo/dubbo-samples-echo-consumer/pom.xml b/2-advanced/dubbo-samples-echo/dubbo-samples-echo-consumer/pom.xml
index 54dd17f..c63baf4 100644
--- a/2-advanced/dubbo-samples-echo/dubbo-samples-echo-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-echo/dubbo-samples-echo-consumer/pom.xml
@@ -42,7 +42,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
@@ -105,4 +105,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-echo/dubbo-samples-echo-provider/pom.xml b/2-advanced/dubbo-samples-echo/dubbo-samples-echo-provider/pom.xml
index d270154..278df52 100644
--- a/2-advanced/dubbo-samples-echo/dubbo-samples-echo-provider/pom.xml
+++ b/2-advanced/dubbo-samples-echo/dubbo-samples-echo-provider/pom.xml
@@ -26,9 +26,6 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dubbo-samples-echo-provider</artifactId>
-    <properties>
-        <zookeeper.version>3.8.0</zookeeper.version>
-    </properties>
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
@@ -43,7 +40,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
@@ -64,52 +61,6 @@
             <artifactId>spring-boot-starter-test</artifactId>
         </dependency>
 
-        <!-- The following dependency registries need -->
-        <dependency>
-            <groupId>org.apache.zookeeper</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>${zookeeper.version}</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>netty-handler</artifactId>
-                    <groupId>io.netty</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>netty-transport-native-epoll</artifactId>
-                    <groupId>io.netty</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>commons-cli</groupId>
-            <artifactId>commons-cli</artifactId>
-            <version>1.4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-server</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-servlet</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-client</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>jline</groupId>
-            <artifactId>jline</artifactId>
-            <version>2.14.6</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.xerial.snappy</groupId>
-            <artifactId>snappy-java</artifactId>
-        </dependency>
     </dependencies>
 
     <profiles>
@@ -145,4 +96,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-echo/pom.xml b/2-advanced/dubbo-samples-echo/pom.xml
index a5f31a7..4460295 100644
--- a/2-advanced/dubbo-samples-echo/pom.xml
+++ b/2-advanced/dubbo-samples-echo/pom.xml
@@ -34,10 +34,10 @@
     <description>Dubbo Samples Echo</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring-boot.version>2.7.8</spring-boot.version>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
@@ -63,7 +63,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -90,4 +90,4 @@
         </pluginManagement>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-environment-keys/pom.xml b/2-advanced/dubbo-samples-environment-keys/pom.xml
index 91aff74..6a9d9e2 100644
--- a/2-advanced/dubbo-samples-environment-keys/pom.xml
+++ b/2-advanced/dubbo-samples-environment-keys/pom.xml
@@ -30,8 +30,9 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <spring.version>4.3.29.RELEASE</spring.version>
     </properties>
 
@@ -53,11 +54,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -73,7 +81,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -88,6 +96,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/dubbo-samples-generic-call-consumer/pom.xml b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/dubbo-samples-generic-call-consumer/pom.xml
index d441e93..4e42aae 100644
--- a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/dubbo-samples-generic-call-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/dubbo-samples-generic-call-consumer/pom.xml
@@ -40,7 +40,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
     </dependencies>
diff --git a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/dubbo-samples-generic-call-provider/pom.xml b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/dubbo-samples-generic-call-provider/pom.xml
index e75b9f5..2fecc3b 100644
--- a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/dubbo-samples-generic-call-provider/pom.xml
+++ b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/dubbo-samples-generic-call-provider/pom.xml
@@ -46,7 +46,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/pom.xml b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/pom.xml
index 9357dbd..d64337f 100644
--- a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/pom.xml
+++ b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-call/pom.xml
@@ -37,7 +37,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
@@ -67,7 +67,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
diff --git a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/dubbo-samples-generic-impl-consumer/pom.xml b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/dubbo-samples-generic-impl-consumer/pom.xml
index 3280796..679aff1 100644
--- a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/dubbo-samples-generic-impl-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/dubbo-samples-generic-impl-consumer/pom.xml
@@ -46,7 +46,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
     </dependencies>
diff --git a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/dubbo-samples-generic-impl-provider/pom.xml b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/dubbo-samples-generic-impl-provider/pom.xml
index c1b4ef7..6694891 100644
--- a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/dubbo-samples-generic-impl-provider/pom.xml
+++ b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/dubbo-samples-generic-impl-provider/pom.xml
@@ -40,7 +40,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -62,6 +62,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
 </project>
diff --git a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/pom.xml b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/pom.xml
index b10635f..6effa0a 100644
--- a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/pom.xml
+++ b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-impl/pom.xml
@@ -36,9 +36,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -60,11 +61,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
diff --git a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-type/pom.xml b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-type/pom.xml
index e80bb18..f3fce39 100644
--- a/2-advanced/dubbo-samples-generic/dubbo-samples-generic-type/pom.xml
+++ b/2-advanced/dubbo-samples-generic/dubbo-samples-generic-type/pom.xml
@@ -35,9 +35,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -59,10 +60,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -74,7 +82,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -90,6 +98,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/2-advanced/dubbo-samples-group/pom.xml b/2-advanced/dubbo-samples-group/pom.xml
index ca9b1f5..3cb8bcd 100644
--- a/2-advanced/dubbo-samples-group/pom.xml
+++ b/2-advanced/dubbo-samples-group/pom.xml
@@ -31,9 +31,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -55,10 +56,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -70,7 +78,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -86,6 +94,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/2-advanced/dubbo-samples-local/pom.xml b/2-advanced/dubbo-samples-local/pom.xml
index 4712d95..442744a 100644
--- a/2-advanced/dubbo-samples-local/pom.xml
+++ b/2-advanced/dubbo-samples-local/pom.xml
@@ -30,7 +30,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -54,7 +54,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -69,7 +69,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/2-advanced/dubbo-samples-merge/dubbo-samples-merge-consumer1/pom.xml b/2-advanced/dubbo-samples-merge/dubbo-samples-merge-consumer1/pom.xml
index 13dbe02..13faf92 100644
--- a/2-advanced/dubbo-samples-merge/dubbo-samples-merge-consumer1/pom.xml
+++ b/2-advanced/dubbo-samples-merge/dubbo-samples-merge-consumer1/pom.xml
@@ -53,7 +53,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-merge/dubbo-samples-merge-consumer2/pom.xml b/2-advanced/dubbo-samples-merge/dubbo-samples-merge-consumer2/pom.xml
index f7ca289..9399554 100644
--- a/2-advanced/dubbo-samples-merge/dubbo-samples-merge-consumer2/pom.xml
+++ b/2-advanced/dubbo-samples-merge/dubbo-samples-merge-consumer2/pom.xml
@@ -41,7 +41,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-merge/dubbo-samples-merge-provider1/pom.xml b/2-advanced/dubbo-samples-merge/dubbo-samples-merge-provider1/pom.xml
index a5448bc..ab4f8db 100644
--- a/2-advanced/dubbo-samples-merge/dubbo-samples-merge-provider1/pom.xml
+++ b/2-advanced/dubbo-samples-merge/dubbo-samples-merge-provider1/pom.xml
@@ -56,7 +56,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-merge/dubbo-samples-merge-provider2/pom.xml b/2-advanced/dubbo-samples-merge/dubbo-samples-merge-provider2/pom.xml
index d4d56f4..24ed349 100644
--- a/2-advanced/dubbo-samples-merge/dubbo-samples-merge-provider2/pom.xml
+++ b/2-advanced/dubbo-samples-merge/dubbo-samples-merge-provider2/pom.xml
@@ -57,7 +57,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/2-advanced/dubbo-samples-merge/pom.xml b/2-advanced/dubbo-samples-merge/pom.xml
index dc2fadb..d67f2c0 100644
--- a/2-advanced/dubbo-samples-merge/pom.xml
+++ b/2-advanced/dubbo-samples-merge/pom.xml
@@ -46,7 +46,7 @@
 
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <spring-boot.version>2.7.8</spring-boot.version>
@@ -82,7 +82,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
diff --git a/2-advanced/dubbo-samples-migration/dubbo-samples-migration-api/pom.xml b/2-advanced/dubbo-samples-migration/dubbo-samples-migration-api/pom.xml
index 4dc2e97..645fb31 100644
--- a/2-advanced/dubbo-samples-migration/dubbo-samples-migration-api/pom.xml
+++ b/2-advanced/dubbo-samples-migration/dubbo-samples-migration-api/pom.xml
@@ -19,16 +19,16 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    
+
     <modelVersion>4.0.0</modelVersion>
-    
+
     <groupId>org.apache.dubbo</groupId>
     <artifactId>dubbo-samples-migration-api</artifactId>
     <version>1.0-SNAPSHOT</version>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
     </properties>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-migration/dubbo-samples-migration-consumer/pom.xml b/2-advanced/dubbo-samples-migration/dubbo-samples-migration-consumer/pom.xml
index be1d5fe..8d9d23f 100644
--- a/2-advanced/dubbo-samples-migration/dubbo-samples-migration-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-migration/dubbo-samples-migration-consumer/pom.xml
@@ -24,7 +24,7 @@
     <groupId>org.example</groupId>
     <artifactId>dubbo-samples-migration-consumer</artifactId>
     <version>1.0-SNAPSHOT</version>
-    
+
     <properties>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
@@ -65,12 +65,12 @@
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo</artifactId>
         </dependency>
-    
+
         <dependency>
             <groupId>com.google.protobuf</groupId>
             <artifactId>protobuf-java</artifactId>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-dependencies-zookeeper</artifactId>
@@ -107,4 +107,4 @@
             </dependencies>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-migration/dubbo-samples-migration-provider/pom.xml b/2-advanced/dubbo-samples-migration/dubbo-samples-migration-provider/pom.xml
index 8435769..c220181 100644
--- a/2-advanced/dubbo-samples-migration/dubbo-samples-migration-provider/pom.xml
+++ b/2-advanced/dubbo-samples-migration/dubbo-samples-migration-provider/pom.xml
@@ -46,7 +46,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.provider.version}</version>
                 <type>pom</type>
             </dependency>
@@ -65,15 +65,15 @@
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo</artifactId>
         </dependency>
-    
+
         <dependency>
             <groupId>com.google.protobuf</groupId>
             <artifactId>protobuf-java</artifactId>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -100,4 +100,4 @@
             </dependencies>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-mock/pom.xml b/2-advanced/dubbo-samples-mock/pom.xml
index 099a9f8..d661278 100644
--- a/2-advanced/dubbo-samples-mock/pom.xml
+++ b/2-advanced/dubbo-samples-mock/pom.xml
@@ -32,8 +32,9 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <spring.version>4.3.29.RELEASE</spring.version>
     </properties>
 
@@ -55,11 +56,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-log4j12</artifactId>
                 <version>1.7.25</version>
@@ -79,7 +87,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
         <dependency>
@@ -96,6 +104,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <build>
diff --git a/2-advanced/dubbo-samples-notify/dubbo-samples-notify-consumer/pom.xml b/2-advanced/dubbo-samples-notify/dubbo-samples-notify-consumer/pom.xml
index 8c995d4..29cca9f 100644
--- a/2-advanced/dubbo-samples-notify/dubbo-samples-notify-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-notify/dubbo-samples-notify-consumer/pom.xml
@@ -39,7 +39,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
@@ -78,4 +78,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-notify/pom.xml b/2-advanced/dubbo-samples-notify/pom.xml
index bdbc607..ee243bc 100644
--- a/2-advanced/dubbo-samples-notify/pom.xml
+++ b/2-advanced/dubbo-samples-notify/pom.xml
@@ -37,7 +37,7 @@
     <description>Dubbo Samples Notify</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring-boot.version>2.7.8</spring-boot.version>
         <maven.compiler.source>1.8</maven.compiler.source>
@@ -105,4 +105,4 @@
             </plugins>
         </pluginManagement>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-rpccontext/pom.xml b/2-advanced/dubbo-samples-rpccontext/pom.xml
index 0d48f9c..961dcfe 100644
--- a/2-advanced/dubbo-samples-rpccontext/pom.xml
+++ b/2-advanced/dubbo-samples-rpccontext/pom.xml
@@ -30,7 +30,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -54,7 +54,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -69,7 +69,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/2-advanced/dubbo-samples-scala/pom.xml b/2-advanced/dubbo-samples-scala/pom.xml
index ab5a1ac..544d39b 100644
--- a/2-advanced/dubbo-samples-scala/pom.xml
+++ b/2-advanced/dubbo-samples-scala/pom.xml
@@ -32,8 +32,9 @@
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
         <spring.version>4.3.29.RELEASE</spring.version>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <scala.version>2.12.5</scala.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <junit.version>4.13.1</junit.version>
     </properties>
 
@@ -60,9 +61,23 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-bom</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
@@ -100,7 +115,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
         <dependency>
@@ -123,6 +138,43 @@
             <groupId>org.scala-lang</groupId>
             <artifactId>scala-library</artifactId>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <build>
diff --git a/2-advanced/dubbo-samples-seata/dubbo-samples-seata-account/pom.xml b/2-advanced/dubbo-samples-seata/dubbo-samples-seata-account/pom.xml
index c5395e3..a48bd6d 100644
--- a/2-advanced/dubbo-samples-seata/dubbo-samples-seata-account/pom.xml
+++ b/2-advanced/dubbo-samples-seata/dubbo-samples-seata-account/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
         <seata.version>1.6.1</seata.version>
         <druid.version>1.2.15</druid.version>
@@ -143,4 +143,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-seata/dubbo-samples-seata-business/pom.xml b/2-advanced/dubbo-samples-seata/dubbo-samples-seata-business/pom.xml
index 974ab81..4b7dd87 100644
--- a/2-advanced/dubbo-samples-seata/dubbo-samples-seata-business/pom.xml
+++ b/2-advanced/dubbo-samples-seata/dubbo-samples-seata-business/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
         <seata.version>1.6.1</seata.version>
         <druid.version>1.2.15</druid.version>
@@ -147,4 +147,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-seata/dubbo-samples-seata-order/pom.xml b/2-advanced/dubbo-samples-seata/dubbo-samples-seata-order/pom.xml
index 9afabb1..924a811 100644
--- a/2-advanced/dubbo-samples-seata/dubbo-samples-seata-order/pom.xml
+++ b/2-advanced/dubbo-samples-seata/dubbo-samples-seata-order/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
         <seata.version>1.6.1</seata.version>
         <druid.version>1.2.15</druid.version>
@@ -142,4 +142,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-seata/dubbo-samples-seata-storage/pom.xml b/2-advanced/dubbo-samples-seata/dubbo-samples-seata-storage/pom.xml
index 89b8b74..b3056f4 100644
--- a/2-advanced/dubbo-samples-seata/dubbo-samples-seata-storage/pom.xml
+++ b/2-advanced/dubbo-samples-seata/dubbo-samples-seata-storage/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
         <seata.version>1.6.1</seata.version>
         <druid.version>1.2.15</druid.version>
@@ -142,4 +142,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-spi-compatible/pom.xml b/2-advanced/dubbo-samples-spi-compatible/pom.xml
index 9f546e5..18adc9a 100644
--- a/2-advanced/dubbo-samples-spi-compatible/pom.xml
+++ b/2-advanced/dubbo-samples-spi-compatible/pom.xml
@@ -30,7 +30,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -54,7 +54,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -70,7 +70,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/2-advanced/dubbo-samples-spring-security/pom.xml b/2-advanced/dubbo-samples-spring-security/pom.xml
index a69bf67..7682533 100644
--- a/2-advanced/dubbo-samples-spring-security/pom.xml
+++ b/2-advanced/dubbo-samples-spring-security/pom.xml
@@ -34,7 +34,7 @@
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
         <spring-boot.version>2.7.8</spring-boot.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <dubbo.dependencies.version>3.2.0-beta.6</dubbo.dependencies.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -60,7 +60,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -76,7 +76,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/2-advanced/dubbo-samples-stub/dubbo-samples-stub-consumer/pom.xml b/2-advanced/dubbo-samples-stub/dubbo-samples-stub-consumer/pom.xml
index 905792d..520fe54 100644
--- a/2-advanced/dubbo-samples-stub/dubbo-samples-stub-consumer/pom.xml
+++ b/2-advanced/dubbo-samples-stub/dubbo-samples-stub-consumer/pom.xml
@@ -60,7 +60,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
@@ -91,4 +91,4 @@
 <!--            </plugin>-->
 <!--        </plugins>-->
 <!--    </build>-->
-</project>
\ No newline at end of file
+</project>
diff --git a/2-advanced/dubbo-samples-stub/pom.xml b/2-advanced/dubbo-samples-stub/pom.xml
index b2b2b39..c8ca0a7 100644
--- a/2-advanced/dubbo-samples-stub/pom.xml
+++ b/2-advanced/dubbo-samples-stub/pom.xml
@@ -47,7 +47,7 @@
         <maven.compiler.target>1.8</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <junit.version>4.13.1</junit.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring-boot.version>2.7.8</spring-boot.version>
     </properties>
 
@@ -71,7 +71,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
diff --git a/2-advanced/dubbo-samples-tengine/dubbo-samples-tengine-provider/pom.xml b/2-advanced/dubbo-samples-tengine/dubbo-samples-tengine-provider/pom.xml
index 485134e..f10ac89 100644
--- a/2-advanced/dubbo-samples-tengine/dubbo-samples-tengine-provider/pom.xml
+++ b/2-advanced/dubbo-samples-tengine/dubbo-samples-tengine-provider/pom.xml
@@ -31,7 +31,7 @@
     <description>The demo provider module of dubbo tengine</description>
     <properties>
         <maven.deploy.skip>true</maven.deploy.skip>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
     </properties>
 
     <dependencies>
diff --git a/2-advanced/dubbo-samples-tengine/pom.xml b/2-advanced/dubbo-samples-tengine/pom.xml
index 02daefd..9f44cb3 100644
--- a/2-advanced/dubbo-samples-tengine/pom.xml
+++ b/2-advanced/dubbo-samples-tengine/pom.xml
@@ -25,7 +25,7 @@
     <description>The demo module of tengine dubbo</description>
     <properties>
         <maven.deploy.skip>true</maven.deploy.skip>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring-boot.version>2.1.5.RELEASE</spring-boot.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
diff --git a/2-advanced/dubbo-samples-validation/pom.xml b/2-advanced/dubbo-samples-validation/pom.xml
index 72223cc..a8184d1 100644
--- a/2-advanced/dubbo-samples-validation/pom.xml
+++ b/2-advanced/dubbo-samples-validation/pom.xml
@@ -31,12 +31,13 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <validation.api.version>2.0.1.Final</validation.api.version>
         <hibernate.validator.version>6.1.2.Final</hibernate.validator.version>
         <javax.el.version>3.0.0</javax.el.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -58,10 +59,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -73,7 +81,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -107,6 +115,43 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/2-advanced/dubbo-samples-version/pom.xml b/2-advanced/dubbo-samples-version/pom.xml
index c22fece..c8e9e00 100644
--- a/2-advanced/dubbo-samples-version/pom.xml
+++ b/2-advanced/dubbo-samples-version/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -55,7 +55,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -70,7 +70,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/3-extensions/configcenter/dubbo-samples-configcenter-annotation/pom.xml b/3-extensions/configcenter/dubbo-samples-configcenter-annotation/pom.xml
index 3242003..fd6d097 100644
--- a/3-extensions/configcenter/dubbo-samples-configcenter-annotation/pom.xml
+++ b/3-extensions/configcenter/dubbo-samples-configcenter-annotation/pom.xml
@@ -33,9 +33,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -59,12 +60,20 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
 
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -80,7 +89,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -95,6 +104,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/3-extensions/configcenter/dubbo-samples-configcenter-api/pom.xml b/3-extensions/configcenter/dubbo-samples-configcenter-api/pom.xml
index a692f94..2d20efe 100644
--- a/3-extensions/configcenter/dubbo-samples-configcenter-api/pom.xml
+++ b/3-extensions/configcenter/dubbo-samples-configcenter-api/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -57,7 +57,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -78,7 +78,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/3-extensions/configcenter/dubbo-samples-configcenter-apollo/pom.xml b/3-extensions/configcenter/dubbo-samples-configcenter-apollo/pom.xml
index 514a1da..254307c 100644
--- a/3-extensions/configcenter/dubbo-samples-configcenter-apollo/pom.xml
+++ b/3-extensions/configcenter/dubbo-samples-configcenter-apollo/pom.xml
@@ -33,7 +33,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <apollo.version>2.0.0</apollo.version>
@@ -59,7 +59,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -80,7 +80,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/3-extensions/configcenter/dubbo-samples-configcenter-externalconfiguration/pom.xml b/3-extensions/configcenter/dubbo-samples-configcenter-externalconfiguration/pom.xml
index 5b698a8..932934e 100644
--- a/3-extensions/configcenter/dubbo-samples-configcenter-externalconfiguration/pom.xml
+++ b/3-extensions/configcenter/dubbo-samples-configcenter-externalconfiguration/pom.xml
@@ -33,9 +33,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring-boot.version>1.5.21.RELEASE</spring-boot.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -59,12 +60,20 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
 
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -80,7 +89,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
@@ -106,6 +115,42 @@
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/3-extensions/configcenter/dubbo-samples-configcenter-multi-registries/pom.xml b/3-extensions/configcenter/dubbo-samples-configcenter-multi-registries/pom.xml
index eeaa235..8a572a4 100644
--- a/3-extensions/configcenter/dubbo-samples-configcenter-multi-registries/pom.xml
+++ b/3-extensions/configcenter/dubbo-samples-configcenter-multi-registries/pom.xml
@@ -33,7 +33,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -59,7 +59,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -80,7 +80,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/3-extensions/configcenter/dubbo-samples-configcenter-multiprotocol/pom.xml b/3-extensions/configcenter/dubbo-samples-configcenter-multiprotocol/pom.xml
index 4640ade..aa9a55a 100644
--- a/3-extensions/configcenter/dubbo-samples-configcenter-multiprotocol/pom.xml
+++ b/3-extensions/configcenter/dubbo-samples-configcenter-multiprotocol/pom.xml
@@ -33,11 +33,12 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <hessian.version>4.0.63</hessian.version>
         <jetty.version>9.4.11.v20180605</jetty.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -61,12 +62,20 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
 
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -100,7 +109,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -130,6 +139,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/3-extensions/configcenter/dubbo-samples-configcenter-xml/pom.xml b/3-extensions/configcenter/dubbo-samples-configcenter-xml/pom.xml
index 4ee0d04..7df9b0c 100644
--- a/3-extensions/configcenter/dubbo-samples-configcenter-xml/pom.xml
+++ b/3-extensions/configcenter/dubbo-samples-configcenter-xml/pom.xml
@@ -33,9 +33,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -59,12 +60,20 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
 
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -80,7 +89,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -95,6 +104,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-original/pom.xml b/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-original/pom.xml
index 08af05e..e72965a 100644
--- a/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-original/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-original/pom.xml
@@ -32,6 +32,7 @@
         <dubbo.version>3.1.6</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <grpc.version>1.34.1</grpc.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <compiler.version>0.0.1</compiler.version>
     </properties>
 
@@ -60,11 +61,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -111,7 +119,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -127,6 +135,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor/pom.xml b/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor/pom.xml
index 27864fd..5a168e9 100644
--- a/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor/pom.xml
@@ -28,10 +28,11 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <grpc.version>1.31.1</grpc.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <compiler.version>0.0.1</compiler.version>
     </properties>
 
@@ -55,11 +56,18 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
 
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -116,7 +124,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -132,6 +140,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <build>
diff --git a/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava/pom.xml b/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava/pom.xml
index ced5aaf..9e91e59 100644
--- a/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava/pom.xml
@@ -28,7 +28,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring-test.version>4.3.29.RELEASE</spring-test.version>
         <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
@@ -86,7 +86,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <version>${dubbo.version}</version>
             <type>pom</type>
         </dependency>
diff --git a/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-ssl/dubbo-samples-grpc-ssl-consumer/pom.xml b/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-ssl/dubbo-samples-grpc-ssl-consumer/pom.xml
index 1172e49..eb191b4 100644
--- a/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-ssl/dubbo-samples-grpc-ssl-consumer/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-ssl/dubbo-samples-grpc-ssl-consumer/pom.xml
@@ -28,7 +28,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring-test.version>4.3.29.RELEASE</spring-test.version>
         <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
@@ -79,7 +79,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <version>${dubbo.version}</version>
             <type>pom</type>
         </dependency>
diff --git a/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-ssl/dubbo-samples-grpc-ssl-provider/pom.xml b/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-ssl/dubbo-samples-grpc-ssl-provider/pom.xml
index abee6ea..93c5165 100644
--- a/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-ssl/dubbo-samples-grpc-ssl-provider/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-ssl/dubbo-samples-grpc-ssl-provider/pom.xml
@@ -28,7 +28,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring-test.version>4.3.29.RELEASE</spring-test.version>
         <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
@@ -79,7 +79,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <version>${dubbo.version}</version>
             <type>pom</type>
         </dependency>
diff --git a/3-extensions/protocol/dubbo-samples-jetty/pom.xml b/3-extensions/protocol/dubbo-samples-jetty/pom.xml
index 10ecad7..0bc4e21 100644
--- a/3-extensions/protocol/dubbo-samples-jetty/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-jetty/pom.xml
@@ -30,7 +30,7 @@
     <source.level>1.8</source.level>
     <target.level>1.8</target.level>
     <spring.version>4.3.29.RELEASE</spring.version>
-    <dubbo.version>3.1.6</dubbo.version>
+    <dubbo.version>3.2.0</dubbo.version>
     <zookeeper.version>3.4.13</zookeeper.version>
     <curator.version>4.0.1</curator.version>
     <validation-api.version>1.1.0.Final</validation-api.version>
@@ -212,7 +212,7 @@
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-server</artifactId>
-      <version>9.4.11.v20180605</version>
+      <version>10.0.14</version>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
diff --git a/3-extensions/protocol/dubbo-samples-port-unification/pom.xml b/3-extensions/protocol/dubbo-samples-port-unification/pom.xml
index cad587a..0189b38 100644
--- a/3-extensions/protocol/dubbo-samples-port-unification/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-port-unification/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
@@ -52,7 +52,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -68,7 +68,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <version>${dubbo.version}</version>
         </dependency>
diff --git a/3-extensions/protocol/dubbo-samples-resilience4j/dubbo-samples-resilience4j-filter/pom.xml b/3-extensions/protocol/dubbo-samples-resilience4j/dubbo-samples-resilience4j-filter/pom.xml
index 12262cd..94a497e 100644
--- a/3-extensions/protocol/dubbo-samples-resilience4j/dubbo-samples-resilience4j-filter/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-resilience4j/dubbo-samples-resilience4j-filter/pom.xml
@@ -32,7 +32,7 @@
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
         <spring.version>4.3.29.RELEASE</spring.version>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <zookeeper.version>3.4.13</zookeeper.version>
         <curator.version>4.0.1</curator.version>
         <validation-api.version>1.1.0.Final</validation-api.version>
diff --git a/3-extensions/protocol/dubbo-samples-resilience4j/dubbo-samples-resilience4j-springboot2/pom.xml b/3-extensions/protocol/dubbo-samples-resilience4j/dubbo-samples-resilience4j-springboot2/pom.xml
index 1e3e91b..04c0d5e 100644
--- a/3-extensions/protocol/dubbo-samples-resilience4j/dubbo-samples-resilience4j-springboot2/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-resilience4j/dubbo-samples-resilience4j-springboot2/pom.xml
@@ -33,7 +33,7 @@
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
         <spring.version>4.3.29.RELEASE</spring.version>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <zookeeper.version>3.4.13</zookeeper.version>
         <curator.version>4.0.1</curator.version>
         <validation-api.version>1.1.0.Final</validation-api.version>
diff --git a/3-extensions/protocol/dubbo-samples-rest/pom.xml b/3-extensions/protocol/dubbo-samples-rest/pom.xml
index ec81521..506539f 100644
--- a/3-extensions/protocol/dubbo-samples-rest/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-rest/pom.xml
@@ -32,11 +32,12 @@
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
         <spring.version>4.3.29.RELEASE</spring.version>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <validation-api.version>1.1.0.Final</validation-api.version>
         <hibernate-validator.version>4.2.0.Final</hibernate-validator.version>
         <swagger.version>1.5.19</swagger.version>
         <tomcat.version>8.0.53</tomcat.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <spring-boot.version>1.5.13.RELEASE</spring-boot.version>
     </properties>
 
@@ -66,9 +67,23 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-bom</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>javax.validation</groupId>
@@ -111,7 +126,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
@@ -121,14 +136,6 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-configcenter-zookeeper</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-all</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
         </dependency>
@@ -200,6 +207,43 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <build>
diff --git a/3-extensions/protocol/dubbo-samples-rocketmq/pom.xml b/3-extensions/protocol/dubbo-samples-rocketmq/pom.xml
index 7a69dd6..a8ab54a 100644
--- a/3-extensions/protocol/dubbo-samples-rocketmq/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-rocketmq/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
-	license agreements. See the NOTICE file distributed with this work for additional 
-	information regarding copyright ownership. The ASF licenses this file to 
-	You under the Apache License, Version 2.0 (the "License"); you may not use 
-	this file except in compliance with the License. You may obtain a copy of 
-	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
-	by applicable law or agreed to in writing, software distributed under the 
-	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
-	OF ANY KIND, either express or implied. See the License for the specific 
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+	license agreements. See the NOTICE file distributed with this work for additional
+	information regarding copyright ownership. The ASF licenses this file to
+	You under the Apache License, Version 2.0 (the "License"); you may not use
+	this file except in compliance with the License. You may obtain a copy of
+	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+	by applicable law or agreed to in writing, software distributed under the
+	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+	OF ANY KIND, either express or implied. See the License for the specific
 	language governing permissions and limitations under the License. -->
 <project
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -30,7 +30,7 @@
 
     <properties>
         <spring.version>4.3.29.RELEASE</spring.version>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <validation-api.version>1.1.0.Final</validation-api.version>
         <hibernate-validator.version>4.2.0.Final</hibernate-validator.version>
         <swagger.version>1.5.19</swagger.version>
diff --git a/3-extensions/protocol/dubbo-samples-triple-reactor/pom.xml b/3-extensions/protocol/dubbo-samples-triple-reactor/pom.xml
index 123bb96..ba2cbd6 100644
--- a/3-extensions/protocol/dubbo-samples-triple-reactor/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-triple-reactor/pom.xml
@@ -37,7 +37,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.7</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <reactive.version>1.0.4</reactive.version>
         <reactor.version>3.4.19</reactor.version>
         <protoc.version>3.19.4</protoc.version>
diff --git a/3-extensions/protocol/dubbo-samples-triple/pom.xml b/3-extensions/protocol/dubbo-samples-triple/pom.xml
index b2d406f..308a4b9 100644
--- a/3-extensions/protocol/dubbo-samples-triple/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-triple/pom.xml
@@ -37,7 +37,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.7</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <grpc.version>1.44.1</grpc.version>
         <junit.version>4.13.1</junit.version>
         <spring-test.version>4.3.29.RELEASE</spring-test.version>
diff --git a/3-extensions/protocol/dubbo-samples-triple/src/main/resources/security/serialize.allowlist b/3-extensions/protocol/dubbo-samples-triple/src/main/resources/security/serialize.allowlist
new file mode 100644
index 0000000..f08a259
--- /dev/null
+++ b/3-extensions/protocol/dubbo-samples-triple/src/main/resources/security/serialize.allowlist
@@ -0,0 +1,19 @@
+#
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+#
+org.apache.dubbo.sample.tri.api.ChildPojo
diff --git a/3-extensions/protocol/dubbo-samples-webservice/dubbo-samples-webservice-consumer/pom.xml b/3-extensions/protocol/dubbo-samples-webservice/dubbo-samples-webservice-consumer/pom.xml
index 74d0ac8..a42198e 100644
--- a/3-extensions/protocol/dubbo-samples-webservice/dubbo-samples-webservice-consumer/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-webservice/dubbo-samples-webservice-consumer/pom.xml
@@ -43,4 +43,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/pom.xml b/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/pom.xml
index 27f99ba..13ae754 100644
--- a/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/pom.xml
+++ b/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.0</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -154,4 +154,4 @@
         </repository>
     </repositories>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/pom.xml b/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/pom.xml
index ff67898..7a947da 100644
--- a/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/pom.xml
+++ b/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.0</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -179,4 +179,4 @@
         </repository>
     </repositories>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-kubernetes-dns/pom.xml b/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-kubernetes-dns/pom.xml
index 240c521..c427aac 100644
--- a/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-kubernetes-dns/pom.xml
+++ b/3-extensions/registry/dubbo-samples-kubernetes/dubbo-samples-kubernetes-dns/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -171,4 +171,4 @@
         </repository>
     </repositories>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/3-extensions/registry/dubbo-samples-mesh-k8s/dubbo-samples-mesh-consumer/pom.xml b/3-extensions/registry/dubbo-samples-mesh-k8s/dubbo-samples-mesh-consumer/pom.xml
index a47b56a..f0f5da7 100644
--- a/3-extensions/registry/dubbo-samples-mesh-k8s/dubbo-samples-mesh-consumer/pom.xml
+++ b/3-extensions/registry/dubbo-samples-mesh-k8s/dubbo-samples-mesh-consumer/pom.xml
@@ -30,7 +30,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.5</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -241,4 +241,4 @@
         </repository>
     </repositories>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/3-extensions/registry/dubbo-samples-mesh-k8s/dubbo-samples-mesh-provider/pom.xml b/3-extensions/registry/dubbo-samples-mesh-k8s/dubbo-samples-mesh-provider/pom.xml
index 58a4d14..a716a4c 100644
--- a/3-extensions/registry/dubbo-samples-mesh-k8s/dubbo-samples-mesh-provider/pom.xml
+++ b/3-extensions/registry/dubbo-samples-mesh-k8s/dubbo-samples-mesh-provider/pom.xml
@@ -28,7 +28,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.5</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <grpc.version>1.31.1</grpc.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
@@ -240,4 +240,4 @@
         </repository>
     </repositories>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/3-extensions/registry/dubbo-samples-multi-registry/pom.xml b/3-extensions/registry/dubbo-samples-multi-registry/pom.xml
index 4871d6c..351d62e 100644
--- a/3-extensions/registry/dubbo-samples-multi-registry/pom.xml
+++ b/3-extensions/registry/dubbo-samples-multi-registry/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -57,7 +57,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -78,7 +78,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-conditionrouter/pom.xml b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-conditionrouter/pom.xml
index 5c32526..e6506d6 100644
--- a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-conditionrouter/pom.xml
+++ b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-conditionrouter/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <slf4j.version>1.7.25</slf4j.version>
@@ -58,7 +58,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -108,6 +108,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
diff --git a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-configcenter/pom.xml b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-configcenter/pom.xml
index 02f4a56..8deb281 100644
--- a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-configcenter/pom.xml
+++ b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-configcenter/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <alibaba_spring_context_support_version>1.0.11</alibaba_spring_context_support_version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
@@ -59,7 +59,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -119,6 +119,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
diff --git a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-group/pom.xml b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-group/pom.xml
index 9b9d46c..4962bb9 100644
--- a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-group/pom.xml
+++ b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-group/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <slf4j.version>1.7.25</slf4j.version>
@@ -58,7 +58,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -107,6 +107,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
diff --git a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-override/pom.xml b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-override/pom.xml
index 6a6d680..a2c1c5b 100644
--- a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-override/pom.xml
+++ b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-override/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <slf4j.version>1.7.25</slf4j.version>
@@ -58,7 +58,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -108,6 +108,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
diff --git a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-registry/pom.xml b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-registry/pom.xml
index a14b102..670178c 100644
--- a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-registry/pom.xml
+++ b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-registry/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <slf4j.version>1.7.25</slf4j.version>
@@ -59,7 +59,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -116,6 +116,18 @@
             <groupId>com.alibaba.nacos</groupId>
             <artifactId>nacos-client</artifactId>
             <version>${nacos.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>simpleclient</artifactId>
+                    <groupId>io.prometheus</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <artifactId>simpleclient</artifactId>
+            <groupId>io.prometheus</groupId>
+            <version>0.16.0</version>
         </dependency>
 
         <dependency>
@@ -127,6 +139,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
diff --git a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-tagrouter/pom.xml b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-tagrouter/pom.xml
index 903bf4b..5d636a7 100644
--- a/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-tagrouter/pom.xml
+++ b/3-extensions/registry/dubbo-samples-nacos/dubbo-samples-nacos-tagrouter/pom.xml
@@ -30,7 +30,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <slf4j.version>1.7.25</slf4j.version>
@@ -57,7 +57,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -107,6 +107,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
diff --git a/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-annotation/pom.xml b/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-annotation/pom.xml
index f1bd5d1..6b7d56e 100644
--- a/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-annotation/pom.xml
+++ b/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-annotation/pom.xml
@@ -32,8 +32,9 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <junit.version>4.13.1</junit.version>
     </properties>
 
@@ -55,11 +56,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -74,7 +82,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -89,6 +97,43 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-nosimple/pom.xml b/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-nosimple/pom.xml
index 14178c6..36ff02d 100644
--- a/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-nosimple/pom.xml
+++ b/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-nosimple/pom.xml
@@ -32,8 +32,9 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <junit.version>4.13.1</junit.version>
     </properties>
 
@@ -55,11 +56,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -75,7 +83,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -90,6 +98,43 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-properties/pom.xml b/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-properties/pom.xml
index 3a64616..90db796 100644
--- a/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-properties/pom.xml
+++ b/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-properties/pom.xml
@@ -32,9 +32,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -55,8 +56,15 @@
                 <scope>import</scope>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -71,7 +79,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -87,6 +95,43 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-xml/pom.xml b/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-xml/pom.xml
index ba1a37b..cb414de 100644
--- a/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-xml/pom.xml
+++ b/3-extensions/registry/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-xml/pom.xml
@@ -32,8 +32,9 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <junit.version>4.13.1</junit.version>
     </properties>
 
@@ -55,11 +56,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -75,7 +83,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -90,6 +98,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/3-extensions/registry/dubbo-samples-xds/dubbo-samples-xds-consumer/pom.xml b/3-extensions/registry/dubbo-samples-xds/dubbo-samples-xds-consumer/pom.xml
index b7e3527..ff34a26 100644
--- a/3-extensions/registry/dubbo-samples-xds/dubbo-samples-xds-consumer/pom.xml
+++ b/3-extensions/registry/dubbo-samples-xds/dubbo-samples-xds-consumer/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.0</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -237,4 +237,4 @@
         </repository>
     </repositories>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/3-extensions/registry/dubbo-samples-xds/dubbo-samples-xds-provider/pom.xml b/3-extensions/registry/dubbo-samples-xds/dubbo-samples-xds-provider/pom.xml
index 3948942..c20b7fd 100644
--- a/3-extensions/registry/dubbo-samples-xds/dubbo-samples-xds-provider/pom.xml
+++ b/3-extensions/registry/dubbo-samples-xds/dubbo-samples-xds-provider/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.0</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -234,4 +234,4 @@
         </repository>
     </repositories>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/3-extensions/registry/dubbo-samples-zookeeper/pom.xml b/3-extensions/registry/dubbo-samples-zookeeper/pom.xml
index 52e1fef..e44a417 100644
--- a/3-extensions/registry/dubbo-samples-zookeeper/pom.xml
+++ b/3-extensions/registry/dubbo-samples-zookeeper/pom.xml
@@ -30,7 +30,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -54,7 +54,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -69,7 +69,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/3-extensions/serialization/dubbo-samples-prefer-serialization/pom.xml b/3-extensions/serialization/dubbo-samples-prefer-serialization/pom.xml
index 211766f..26fb996 100644
--- a/3-extensions/serialization/dubbo-samples-prefer-serialization/pom.xml
+++ b/3-extensions/serialization/dubbo-samples-prefer-serialization/pom.xml
@@ -33,9 +33,10 @@
     <description>Dubbo Samples Prefer Serialization</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring.version>4.3.29.RELEASE</spring.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <slf4j-log4j12.version>1.7.25</slf4j-log4j12.version>
     </properties>
 
@@ -57,11 +58,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-log4j12</artifactId>
                 <version>${slf4j-log4j12.version}</version>
@@ -81,7 +89,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
         <dependency>
@@ -94,6 +102,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <build>
diff --git a/3-extensions/serialization/dubbo-samples-serialization/dubbo-samples-serialization-java/pom.xml b/3-extensions/serialization/dubbo-samples-serialization/dubbo-samples-serialization-java/pom.xml
index cb237e9..f5e8809 100644
--- a/3-extensions/serialization/dubbo-samples-serialization/dubbo-samples-serialization-java/pom.xml
+++ b/3-extensions/serialization/dubbo-samples-serialization/dubbo-samples-serialization-java/pom.xml
@@ -37,8 +37,9 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <spring.version>4.3.29.RELEASE</spring.version>
     </properties>
 
@@ -60,11 +61,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-log4j12</artifactId>
                 <version>1.7.25</version>
@@ -84,7 +92,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
         <dependency>
@@ -97,6 +105,43 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/4-governance/dubbo-samples-applevel-override/pom.xml b/4-governance/dubbo-samples-applevel-override/pom.xml
index bc77fba..6488334 100644
--- a/4-governance/dubbo-samples-applevel-override/pom.xml
+++ b/4-governance/dubbo-samples-applevel-override/pom.xml
@@ -33,7 +33,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <awaitility.version>4.2.0</awaitility.version>
@@ -60,7 +60,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -87,7 +87,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/4-governance/dubbo-samples-configconditionrouter/pom.xml b/4-governance/dubbo-samples-configconditionrouter/pom.xml
index fbd9a70..f057661 100644
--- a/4-governance/dubbo-samples-configconditionrouter/pom.xml
+++ b/4-governance/dubbo-samples-configconditionrouter/pom.xml
@@ -33,7 +33,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -59,7 +59,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -80,7 +80,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/4-governance/dubbo-samples-meshrule-router/pom.xml b/4-governance/dubbo-samples-meshrule-router/pom.xml
index a5c82c9..78df596 100644
--- a/4-governance/dubbo-samples-meshrule-router/pom.xml
+++ b/4-governance/dubbo-samples-meshrule-router/pom.xml
@@ -33,7 +33,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -59,7 +59,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -80,7 +80,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/4-governance/dubbo-samples-metrics-prometheus/dubbo-samples-metrics-prometheus-consumer/pom.xml b/4-governance/dubbo-samples-metrics-prometheus/dubbo-samples-metrics-prometheus-consumer/pom.xml
index 66c01cf..09b58d7 100644
--- a/4-governance/dubbo-samples-metrics-prometheus/dubbo-samples-metrics-prometheus-consumer/pom.xml
+++ b/4-governance/dubbo-samples-metrics-prometheus/dubbo-samples-metrics-prometheus-consumer/pom.xml
@@ -35,7 +35,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/4-governance/dubbo-samples-metrics-prometheus/pom.xml b/4-governance/dubbo-samples-metrics-prometheus/pom.xml
index d09eda8..5f16746 100644
--- a/4-governance/dubbo-samples-metrics-prometheus/pom.xml
+++ b/4-governance/dubbo-samples-metrics-prometheus/pom.xml
@@ -43,7 +43,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.2.0</dubbo.version>
+        <dubbo.version>3.2.1</dubbo.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
         <junit.version>4.13.1</junit.version>
         <spring-boot.version>2.7.8</spring-boot.version>
diff --git a/4-governance/dubbo-samples-metrics-spring-boot/README.md b/4-governance/dubbo-samples-metrics-spring-boot/README.md
index cd7def6..c557eff 100644
--- a/4-governance/dubbo-samples-metrics-spring-boot/README.md
+++ b/4-governance/dubbo-samples-metrics-spring-boot/README.md
@@ -1,35 +1,33 @@
-# 使用Metrics模块进行数据采集然后暴漏数据给普罗米修斯监控
-如果需要在springboot-actuator中返回dubbo的指标信息,dubbo 版本必须为3.2.0-beta.6 以上
-* 服务端配置参考
+本示例演示如何为 Dubbo 实例开启指标监控,结合 Grafana 和 Prometheus 的完整部署和使用示例请参考 [官方文档](https://cn.dubbo.apache.org/zh-cn/overview/tasks/observability/)。
+
+## 开启 Metrics 数据采集并上报到 Prometheus
+
+Dubbo 支持通过两种方式对外暴露 Metrics 指标给 Prometheus,具体可参见 [官方文档配置说明]()。
+* Spring-boot-actuator,即通过标准的 Spring boot actuator 端口在特定的 endpoint 将 Dubbo 监控指标暴露出去
+* dubbo qos,即通过 Dubbo 内置的 qos 端口将 Dubbo 监控指标暴露出去
+
+本示例中,我们使用 spring-boot-actuator 的方式透出 Dubbo 指标信息,请注意本示例使用的 Dubbo 版本必须为 3.2.0-beta.6 以上。
+
+### Metrics 相关示例配置
+
 ```yaml
-management.metrics.tags.application=dubbo-samples-metrics-spring-boot
+# ......
 management.server.port=18081
 management.endpoints.web.base-path=/management
-management.endpoints.web.exposure.include=info,health,env,prometheus
-spring.main.allow-circular-references=true
-management.endpoint.metrics.enabled=true
-management.endpoint.prometheus.enabled=true
-management.metrics.export.prometheus.enabled=true
-server.port=18080
-dubbo.application.name=metrics-provider
-dubbo.registry.address=zookeeper://${ZOOKEEPER_ADDRESS:127.0.0.1}:2181
 dubbo.metrics.protocol=prometheus
-#如果不使用spring-boot-actuator 可使用下面配置
-#dubbo.metrics.enable-jvm-metrics=true
-#dubbo.metrics.prometheus.exporter.enabled=true
-#dubbo.metrics.prometheus.exporter.metrics-port=20888
-#prometheus.exporter.metrics.path=/prometheus
+
+# 如果不使用 spring-boot-actuator,可使用下面配置开启 qos 配置
+# dubbo.metrics.enable-jvm-metrics=true
+# dubbo.application.qos-port=22222
+# dubbo.application.qos-accept-foreign-ip=true
 ```
 
+启动 MetricsApplication,测试访问监控指标:http://localhost:18081/management/prometheus
 
-启动MetricsApplication  访问监控指标:http://localhost:18081/management/prometheus
+## 部署示例到 Kubernetes
+### 采用 kube-prometheus 部署
 
-可观测性文档如下链接:
-[https://cn.dubbo.apache.org/zh/docs3-v2/java-sdk/advanced-features-and-usage/observability/](https://cn.dubbo.apache.org/zh/docs3-v2/java-sdk/advanced-features-and-usage/observability/)
-
-# 部署到K8S(kube-prometheus)
-本示例通过[kube-prometheus](https://github.com/prometheus-operator/kube-prometheus)
-构建k8s的prometheus环境
+本示例通过 [kube-prometheus](https://github.com/prometheus-operator/kube-prometheus) 构建k8s的prometheus环境
 
 为了方便访问验证可以将`alertmanager-service.yaml` `grafana-service.yaml` `prometheus-service.yaml`设置为NodePort
 
@@ -68,7 +66,8 @@
    ![result.png](result.png)
 
 
-# 部署到K8S(helm-charts)
+### 采用 helm-charts 部署
+
 1. 部署[prometheus](https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus)
 2. 修改Deployment.yml 并部署
  ```yaml
diff --git a/4-governance/dubbo-samples-metrics-spring-boot/pom.xml b/4-governance/dubbo-samples-metrics-spring-boot/pom.xml
index 7aed358..45b4352 100644
--- a/4-governance/dubbo-samples-metrics-spring-boot/pom.xml
+++ b/4-governance/dubbo-samples-metrics-spring-boot/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.2.0</dubbo.version>
+        <dubbo.version>3.2.1</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring.version>5.3.18</spring.version>
         <httpclient.version>4.5.13</httpclient.version>
@@ -70,7 +70,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -104,7 +104,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/4-governance/dubbo-samples-metrics-spring-boot/src/main/resources/application.properties b/4-governance/dubbo-samples-metrics-spring-boot/src/main/resources/application.properties
index 0bb33f3..c500a31 100644
--- a/4-governance/dubbo-samples-metrics-spring-boot/src/main/resources/application.properties
+++ b/4-governance/dubbo-samples-metrics-spring-boot/src/main/resources/application.properties
@@ -10,8 +10,4 @@
 dubbo.application.name=metrics-provider
 dubbo.registry.address=zookeeper://${ZOOKEEPER_ADDRESS:127.0.0.1}:2181
 dubbo.metrics.protocol=prometheus
-#如果不使用spring-boot-actuator 可使用下面配置
 #dubbo.metrics.enable-jvm-metrics=true
-#dubbo.metrics.prometheus.exporter.enabled=true
-#dubbo.metrics.prometheus.exporter.metrics-port=20888
-#prometheus.exporter.metrics.path=/prometheus
\ No newline at end of file
diff --git a/4-governance/dubbo-samples-metrics/pom.xml b/4-governance/dubbo-samples-metrics/pom.xml
index 896f2f5..d130ab7 100644
--- a/4-governance/dubbo-samples-metrics/pom.xml
+++ b/4-governance/dubbo-samples-metrics/pom.xml
@@ -36,9 +36,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring.version>4.3.29.RELEASE</spring.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -60,10 +61,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -80,7 +88,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -102,6 +110,42 @@
             <artifactId>fastjson</artifactId>
             <version>1.2.83</version>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/4-governance/dubbo-samples-monitor/pom.xml b/4-governance/dubbo-samples-monitor/pom.xml
index 68fcb2a..63a8e03 100644
--- a/4-governance/dubbo-samples-monitor/pom.xml
+++ b/4-governance/dubbo-samples-monitor/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -55,7 +55,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -70,7 +70,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/4-governance/dubbo-samples-sentinel/dubbo-samples-sentinel-consumer/pom.xml b/4-governance/dubbo-samples-sentinel/dubbo-samples-sentinel-consumer/pom.xml
index cb70e30..ffac12d 100644
--- a/4-governance/dubbo-samples-sentinel/dubbo-samples-sentinel-consumer/pom.xml
+++ b/4-governance/dubbo-samples-sentinel/dubbo-samples-sentinel-consumer/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
     </properties>
 
@@ -111,4 +111,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/4-governance/dubbo-samples-sentinel/dubbo-samples-sentinel-provider/pom.xml b/4-governance/dubbo-samples-sentinel/dubbo-samples-sentinel-provider/pom.xml
index 57599e9..3fa0979 100644
--- a/4-governance/dubbo-samples-sentinel/dubbo-samples-sentinel-provider/pom.xml
+++ b/4-governance/dubbo-samples-sentinel/dubbo-samples-sentinel-provider/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
         <sentinel.version>1.8.6</sentinel.version>
     </properties>
diff --git a/4-governance/dubbo-samples-servicelevel-override/pom.xml b/4-governance/dubbo-samples-servicelevel-override/pom.xml
index a888108..84fde96 100644
--- a/4-governance/dubbo-samples-servicelevel-override/pom.xml
+++ b/4-governance/dubbo-samples-servicelevel-override/pom.xml
@@ -33,7 +33,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -59,7 +59,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -86,7 +86,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/4-governance/dubbo-samples-spring-boot-hystrix/pom.xml b/4-governance/dubbo-samples-spring-boot-hystrix/pom.xml
index 31adcc2..8b03ee2 100644
--- a/4-governance/dubbo-samples-spring-boot-hystrix/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-hystrix/pom.xml
@@ -31,11 +31,12 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <spring-boot.version>1.5.21.RELEASE</spring-boot.version>
         <hystrix-starter.version>1.4.7.RELEASE</hystrix-starter.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -56,8 +57,15 @@
                 <scope>import</scope>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -72,7 +80,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
@@ -106,6 +114,43 @@
             <version>${spring-boot.version}</version>
             <scope>test</scope>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/4-governance/dubbo-samples-spring-boot-tracing-skywalking/dubbo-samples-spring-boot-tracing-skwalking-interface/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing-skywalking/dubbo-samples-spring-boot-tracing-skwalking-interface/pom.xml
index 30a3a4e..aeef9fa 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing-skywalking/dubbo-samples-spring-boot-tracing-skwalking-interface/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing-skywalking/dubbo-samples-spring-boot-tracing-skwalking-interface/pom.xml
@@ -29,8 +29,8 @@
     <artifactId>dubbo-samples-spring-boot-tracing-skwalking-interface</artifactId>
 
     <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
     </properties>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/4-governance/dubbo-samples-spring-boot-tracing-skywalking/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing-skywalking/pom.xml
index f71c9cc..9986c45 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing-skywalking/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing-skywalking/pom.xml
@@ -44,7 +44,7 @@
         <maven.compiler.target>17</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <java.version>17</java.version>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.2.0</nacos.version>
         <micrometer.version>1.10.3</micrometer.version>
         <micrometer-tracing.version>1.0.1</micrometer-tracing.version>
@@ -116,6 +116,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -125,6 +126,7 @@
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
         </dependency>
 
         <dependency>
@@ -143,4 +145,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/README.md b/4-governance/dubbo-samples-spring-boot-tracing/README.md
index f7e68ab..6418973 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/README.md
+++ b/4-governance/dubbo-samples-spring-boot-tracing/README.md
@@ -1,109 +1,113 @@
-# Overview
+## 说明
 
-This example demonstrates the basic usage of tracing in Dubbo application and report tracing information to zipkin. This
-example contains three parts, `dubbo-samples-spring-boot-tracing-provider`
-, `dubbo-samples-spring-boot-tracing-consumer` and `dubbo-samples-spring-boot-tracing-interface`.
+目前 Dubbo 内置了 [Micrometer](https://micrometer.io/)(Micrometer 为最流行的可观察性系统在检测客户端上提供了一个统一的门面,相当于日志领域的SLF4J,SpringBoot3
+内置的可观测门面组件)。
 
-Apache Dubbo has inbuilt tracing through [Micrometer Observations](https://micrometer.io/)
-and [Micrometer Tracing](https://github.com/micrometer-metrics/tracing).
+## 案例模块说明
 
-## Quick Start
+- dubbo-samples-spring-boot-tracing-zipkin:在SpringBoot项目中如何使用Dubbo-tracing相关的starter,将trace信息上报到zipkin
+- dubbo-samples-spring-boot-tracing-otel-otlp:在SpringBoot项目中如何使用Dubbo-tracing相关的starter,以 Opentelemetry 作为 Tracer,将 Trace 信息上报到 Otlp(Opentelemetry 自定义的协议,[详细文档](https://opentelemetry.io/docs/specs/otel/protocol/))
 
-### Install & Start Zipkin
+## Tracing相关概念
 
-Follow [Zipkin's quick start](https://zipkin.io/pages/quickstart.html) to install zipkin.
+- Span:基本工作单元。例如,发送 RPC 是一个新的 span,发送对 RPC 的响应也是如此。Span还有其他数据,例如description、带时间戳的事件、键值注释(标签)、导致它们的跨度的
+  ID 和进程 ID(通常是 IP 地址)。跨度可以启动和停止,并且它们会跟踪它们的时间信息。创建跨度后,您必须在将来的某个时间点停止它。
 
-Here we use docker to quickly start a zipkin server.
+- Trace:一组形成树状结构的跨度。例如,如果您运行分布式大数据存储,则可能会通过请求形成跟踪PUT。
 
-```bash
-docker run -d -p 9411:9411 --name zipkin openzipkin/zipkin
-```
+- Annotation/Event : 用于及时记录一个事件的存在。
 
-Then you can verify zipkin server works by access [http://localhost:9411](http://localhost:9411)
+- Tracing context:为了使分布式跟踪工作,跟踪上下文(跟踪标识符、跨度标识符等)必须通过进程(例如通过线程)和网络传播。
 
-![zipkin_home](static/zipkin_home.png)
+- Log correlation:部分跟踪上下文(例如跟踪标识符、跨度标识符)可以填充到给定应用程序的日志中。然后可以将所有日志收集到一个存储中,并通过跟踪
+  ID 对它们进行分组。这样就可以从所有按时间顺序排列的服务中获取单个业务操作(跟踪)的所有日志。
 
-### Start Provider
+- Latency analysis tools:一种收集导出跨度并可视化整个跟踪的工具。允许轻松进行延迟分析。
 
-Start `org.apache.dubbo.springboot.demo.provider.ProviderApplication` directly from IDE.
+- Tracer: 处理span生命周期的库(Dubbo 目前支持 Opentelemetry 和 Brave)。它可以通过 Exporter 创建、启动、停止和报告 Spans
+  到外部系统(如 Zipkin、Jagger 等)。
 
-### Start Consumer
+- Exporter: 将产生的 Trace 信息通过 http 等接口上报到外部系统,比如上报到 Zipkin。
 
-Start `org.apache.dubbo.springboot.demo.consumer.ConsumerApplication` directly from IDE.
+## SpringBoot Starters
 
-### Check Result
+对于 SpringBoot 用户,Dubbo 提供了 Tracing 相关的 starters,自动装配 Micrometer 相关的配置代码,且用户可自由选择 Tracer
+和Exporter。
 
-Open [http://localhost:9411/zipkin/](http://localhost:9411/zipkin/) in browser.
-
-![zipkin.png](static/zipkin.png)
-
-## How To Use Dubbo Tracing In Your Project
-
-### 1. Adding `dubbo-spring-boot-observability-starter` To Your Project
-
-For the Springboot project, you can use `dubbo-spring-boot-observability-starter` to easily have observability, Dubbo
-provides two types of starters at present, select one to add to pom:
-
-```xml
-
-<!-- Opentelemetry as Tracer, Zipkin as exporter -->
-<dependency>
-    <groupId>org.apache.dubbo</groupId>
-    <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
-</dependency>
-```
-
-```xml
-
-<!-- Brave as Tracer, Zipkin as exporter -->
-<dependency>
-    <groupId>org.apache.dubbo</groupId>
-    <artifactId>dubbo-spring-boot-tracing-brave-zipkin-starter</artifactId>
-</dependency>
-```
-
-Dubbo will support more in the future, such as skywalking, Jagger.
-
-### 2. Configuration Tracing
-
-#### application.yml:
+### Opentelemetry 作为 Tracer,将 Trace 信息 export 到 Zipkin
 
 ```yaml
-dubbo:
-  tracing:
-    enabled: true # default is false
-    sampling:
-      probability: 0.5 # sampling rate, default is 0.1
-    propagation:
-      type: W3C # W3C/B3 default is W3C
-    tracing-exporter:
-      zipkin-config:
-        endpoint: http://localhost:9411/api/v2/spans
-        connect-timeout: 1s # connect timeout, default is 1s
-        read-timeout: 10s # read timeout, default is 10s
-
-# tracing info output to logging
-logging:
-  pattern:
-    level: '%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]'
+  <dependency>
+      <groupId>org.apache.dubbo</groupId>
+      <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+      <version>${version}</version>
+  </dependency>
 ```
 
-### 3. Customizing Observation Filters
+### Brave 作为 Tracer,将 Trace 信息 export 到 Zipkin
 
-To customize the tags present in metrics (low cardinality tags) and in spans (low and high cardinality tags) you should
-create your own versions of `DubboServerObservationConvention` (server side) and `DubboClientObservationConvention` (
-client side) and register them in the `ApplicationModel`'s `BeanFactory`. To reuse the existing ones
-check `DefaultDubboServerObservationConvention` (server side) and `DefaultDubboClientObservationConvention` (client
-side).
+```yaml
+  <dependency>
+      <groupId>org.apache.dubbo</groupId>
+      <artifactId>dubbo-spring-boot-tracing-brave-zipkin-starter</artifactId>
+      <version>${version}</version>
+  </dependency>
+```
 
-## Extension
+### Opentelemetry 作为 Tracer,将 Trace 信息 export 到 Otlp Collector
 
-An OpenZipkin URL sender dependency to send out spans to Zipkin via a URLConnectionSender
+```yaml
+ <dependency>
+      <groupId>org.apache.dubbo</groupId>
+      <artifactId>dubbo-spring-boot-tracing-otel-otlp-starter</artifactId>
+      <version>${version}</version>
+  </dependency>
+```
 
-```xml
+### 自由组装 Tracer 和 Exporter
 
-<dependency>
-    <groupId>io.zipkin.reporter2</groupId>
-    <artifactId>zipkin-sender-urlconnection</artifactId>
-</dependency>
-```
\ No newline at end of file
+如果用户基于 Micrometer 有自定义的需求,想将 Trace 信息上报至其他外部系统观测,可参照如下自由组装 Tracer 和 Exporter:
+
+```yaml
+  <!-- 自动装配 -->
+  <dependency>
+      <groupId>org.apache.dubbo</groupId>
+      <artifactId>dubbo-spring-boot-observability-starter</artifactId>
+      <version>${version}</version>
+  </dependency>
+  <!-- otel作为tracer -->
+  <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-tracing-bridge-otel</artifactId>
+      <version>${version}</version>
+  </dependency>
+  <!-- export到zipkin -->
+  <dependency>
+      <groupId>io.opentelemetry</groupId>
+      <artifactId>opentelemetry-exporter-zipkin</artifactId>
+      <version>${version}</version>
+  </dependency>
+```
+
+```yaml
+  <!-- 自动装配 -->
+  <dependency>
+      <groupId>org.apache.dubbo</groupId>
+      <artifactId>dubbo-spring-boot-observability-starter</artifactId>
+      <version>${version}</version>
+  </dependency>
+  <!-- brave作为tracer  -->
+  <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-tracing-bridge-brave</artifactId>
+      <version>${version}</version>
+  </dependency>
+  <!-- export到zipkin -->
+  <dependency>
+      <groupId>io.zipkin.reporter2</groupId>
+      <artifactId>zipkin-reporter-brave</artifactId>
+      <version>${version}</version>
+  </dependency>
+```
+
+后续还会补齐更多的 starters,如 Jagger、SkyWalking等。
\ No newline at end of file
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/resources/log4j.properties b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/resources/log4j.properties
deleted file mode 100644
index 8de4c4f..0000000
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-###set log levels###
-log4j.rootLogger=info, stdout
-###output to the console###
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.Target=System.out
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2}: %m%n
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/README.md b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/README.md
new file mode 100644
index 0000000..a533b3e
--- /dev/null
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/README.md
@@ -0,0 +1,84 @@
+## 概述
+
+这个案例展示了在 Dubbo 项目中以 Opentelemetry 作为 Tracer,将 Trace 信息上报到 Otlp Collector,再由 collector 转发至Zipkin、Jagger。
+
+有三部分组成:
+
+- dubbo-samples-spring-boot-tracing-otel-oltp-interface
+- dubbo-samples-spring-boot-tracing-otel-oltp-provider
+- dubbo-samples-spring-boot-tracing-otel-oltp-consumer
+
+## 案例架构图
+
+![案例架构图](static/demo_arch.png)
+
+## 快速开始
+
+### 安装 & 启动 Otlp Collector
+
+按照 [Opentelemetry Collector Quick Start](https://opentelemetry.io/docs/collector/getting-started/) 去启动 otlp collector.
+
+### 启动 Provider
+
+直接运行`org.apache.dubbo.springboot.demo.provider.ProviderApplication` directly from IDE.
+
+### 启动 Consumer
+
+Start `org.apache.dubbo.springboot.demo.consumer.ConsumerApplication` directly from IDE.
+
+### 查看 Trace 信息
+
+在浏览器中打开zipkin看板 [http://localhost:9411/zipkin/](http://localhost:9411/zipkin/) :
+
+![zipkin.png](static/zipkin_search.png)
+
+![zipkin.png](static/zipkin_detail.png)
+
+在浏览器中打开Jaeger看板 [http://localhost:16686/search](http://localhost:16686/search) :
+
+![jaeger_search.png](static/jaeger_search.png)
+
+![jaeger_detail.png](static/jaeger_detail.png)
+
+## 如何在项目中使用
+
+### 1. 在你的项目中添加依赖
+
+对于 SpringBoot 项目,你可以使用`dubbo-spring-boot-tracing-otel-otlp-starter` :
+
+```xml
+
+<!-- Opentelemetry as Tracer, Otlp as exporter -->
+<dependency>
+    <groupId>org.apache.dubbo</groupId>
+    <artifactId>dubbo-spring-boot-tracing-otel-otlp-starter</artifactId>
+</dependency>
+```
+
+### 2. 配置
+
+#### application.yml:
+
+```yaml
+dubbo:
+  tracing:
+    enabled: true # default is false
+    sampling:
+      probability: 0.5 # sampling rate, default is 0.1
+    propagation:
+      type: W3C # W3C/B3 default is W3C
+    tracing-exporter:
+      otlp-config:
+        endpoint: http://localhost:4317
+        timeout: 10s # default is 10s
+        compression-method: none # none/gzip The method used to compress payloads, default is "none"
+        headers: # customized added headers, default is empty
+          auth: admin
+
+# tracing info output to logging
+logging:
+  level:
+    root: info
+  pattern:
+    console: '[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2} [%X{traceId:-}, %X{spanId:-}]: %m%n'
+```
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/consumer/pom.xml
similarity index 81%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/pom.xml
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/consumer/pom.xml
index d309d24..6fd1dcf 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/consumer/pom.xml
@@ -19,12 +19,12 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-samples-spring-boot-tracing</artifactId>
+        <artifactId>dubbo-samples-spring-boot-tracing-otel-otlp</artifactId>
         <version>1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>dubbo-samples-spring-boot-tracing-consumer</artifactId>
+    <artifactId>dubbo-samples-spring-boot-tracing-otel-oltp-consumer</artifactId>
 
     <properties>
         <slf4j-log4j12.version>1.7.25</slf4j-log4j12.version>
@@ -33,7 +33,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-samples-spring-boot-tracing-interface</artifactId>
+            <artifactId>dubbo-samples-tracing-otel-otlp-interface</artifactId>
             <version>${project.parent.version}</version>
         </dependency>
 
@@ -46,8 +46,14 @@
         <!-- registry dependency -->
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
+            <exclusions>
+                <exclusion>
+                    <artifactId>slf4j-reload4j</artifactId>
+                    <groupId>org.slf4j</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <!-- spring starter -->
@@ -58,7 +64,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+            <artifactId>dubbo-spring-boot-tracing-otel-otlp-starter</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/java/org/apache/dubbo/springboot/demo/consumer/ConsumerApplication.java b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/consumer/src/main/java/org/apache/dubbo/springboot/demo/consumer/ConsumerApplication.java
similarity index 100%
rename from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/java/org/apache/dubbo/springboot/demo/consumer/ConsumerApplication.java
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/consumer/src/main/java/org/apache/dubbo/springboot/demo/consumer/ConsumerApplication.java
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/resources/application.yml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/consumer/src/main/resources/application.yml
similarity index 77%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/resources/application.yml
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/consumer/src/main/resources/application.yml
index 4c23fac..fadf4ca 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/resources/application.yml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/consumer/src/main/resources/application.yml
@@ -38,11 +38,15 @@
     propagation:
       type: W3C # W3C/B3 default is W3C
     tracing-exporter:
-      zipkin-config:
-        endpoint: http://localhost:9411/api/v2/spans
-        connect-timeout: 1s # connect timeout, default is 1s
-        read-timeout: 10s # read timeout, default is 10s
+      otlp-config:
+        endpoint: http://localhost:4317
+        timeout: 10s # default is 10s
+        compression-method: none # none/gzip The method used to compress payloads, default is "none"
+        headers: # customized added headers, default is empty
+          auth: admin
 
 logging:
+  level:
+    root: info
   pattern:
-    level: '%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]'
+    console: '[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2} [%X{traceId:-}, %X{spanId:-}]: %m%n'
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/interface/pom.xml
similarity index 83%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/interface/pom.xml
index 90b1068..e136b09 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/interface/pom.xml
@@ -19,18 +19,18 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-samples-spring-boot-tracing</artifactId>
+        <artifactId>dubbo-samples-spring-boot-tracing-otel-otlp</artifactId>
         <version>1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>dubbo-samples-spring-boot-tracing-interface</artifactId>
+    <artifactId>dubbo-samples-tracing-otel-otlp-interface</artifactId>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
         <maven.deploy.skip>true</maven.deploy.skip>
     </properties>
 
-</project>
+</project>
\ No newline at end of file
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/src/main/java/org/apache/dubbo/springboot/demo/DemoService.java b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/interface/src/main/java/org/apache/dubbo/springboot/demo/DemoService.java
similarity index 100%
rename from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/src/main/java/org/apache/dubbo/springboot/demo/DemoService.java
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/interface/src/main/java/org/apache/dubbo/springboot/demo/DemoService.java
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/pom.xml
similarity index 74%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/pom.xml
index 90b1068..32d64bc 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/pom.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -14,6 +15,7 @@
   See the License for the specific language governing permissions and
   limitations under the License.
   -->
+
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
@@ -25,12 +27,19 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>dubbo-samples-spring-boot-tracing-interface</artifactId>
+    <artifactId>dubbo-samples-spring-boot-tracing-otel-otlp</artifactId>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>interface</module>
+        <module>provider</module>
+        <module>consumer</module>
+    </modules>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
-        <maven.deploy.skip>true</maven.deploy.skip>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
-</project>
+</project>
\ No newline at end of file
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/pom.xml
similarity index 81%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/pom.xml
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/pom.xml
index d309d24..b0bcb48 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/pom.xml
@@ -19,12 +19,13 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-samples-spring-boot-tracing</artifactId>
+        <artifactId>dubbo-samples-spring-boot-tracing-otel-otlp</artifactId>
         <version>1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>dubbo-samples-spring-boot-tracing-consumer</artifactId>
+
+    <artifactId>dubbo-samples-spring-boot-tracing-otel-oltp-provider</artifactId>
 
     <properties>
         <slf4j-log4j12.version>1.7.25</slf4j-log4j12.version>
@@ -33,7 +34,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-samples-spring-boot-tracing-interface</artifactId>
+            <artifactId>dubbo-samples-tracing-otel-otlp-interface</artifactId>
             <version>${project.parent.version}</version>
         </dependency>
 
@@ -46,8 +47,14 @@
         <!-- registry dependency -->
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
+            <exclusions>
+                <exclusion>
+                    <artifactId>slf4j-reload4j</artifactId>
+                    <groupId>org.slf4j</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <!-- spring starter -->
@@ -58,7 +65,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+            <artifactId>dubbo-spring-boot-tracing-otel-otlp-starter</artifactId>
         </dependency>
     </dependencies>
 
@@ -78,4 +85,5 @@
             </plugin>
         </plugins>
     </build>
+
 </project>
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/DemoServiceImpl.java b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/DemoServiceImpl.java
similarity index 100%
rename from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/DemoServiceImpl.java
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/DemoServiceImpl.java
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/EmbeddedZooKeeper.java b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/EmbeddedZooKeeper.java
similarity index 100%
rename from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/EmbeddedZooKeeper.java
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/EmbeddedZooKeeper.java
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java
similarity index 100%
rename from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/resources/application.yml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/src/main/resources/application.yml
similarity index 79%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/resources/application.yml
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/src/main/resources/application.yml
index 91ef28e..a2fa62e 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/resources/application.yml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/provider/src/main/resources/application.yml
@@ -38,11 +38,15 @@
     propagation:
       type: W3C # W3C/B3 default is W3C
     tracing-exporter:
-      zipkin-config:
-        endpoint: http://localhost:9411/api/v2/spans
-        connect-timeout: 1s # connect timeout, default is 1s
-        read-timeout: 10s # read timeout, default is 10s
+      otlp-config:
+        endpoint: http://localhost:4317
+        timeout: 10s # default is 10s
+        compression-method: none # none/gzip The method used to compress payloads, default is "none"
+        headers:
+          auth: admin
 
 logging:
+  level:
+    root: info
   pattern:
-    level: '%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]'
+    console: '[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2} [%X{traceId:-}, %X{spanId:-}]: %m%n'
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/demo_arch.png b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/demo_arch.png
new file mode 100644
index 0000000..a625d05
--- /dev/null
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/demo_arch.png
Binary files differ
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/jaeger_detail.png b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/jaeger_detail.png
new file mode 100644
index 0000000..3d5bfe6
--- /dev/null
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/jaeger_detail.png
Binary files differ
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/jaeger_search.png b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/jaeger_search.png
new file mode 100644
index 0000000..5354489
--- /dev/null
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/jaeger_search.png
Binary files differ
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/zipkin_detail.png b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/zipkin_detail.png
new file mode 100644
index 0000000..e73b9e9
--- /dev/null
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/zipkin_detail.png
Binary files differ
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/zipkin_search.png b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/zipkin_search.png
new file mode 100644
index 0000000..8503b85
--- /dev/null
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-otel-otlp/static/zipkin_search.png
Binary files differ
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/resources/log4j.properties b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/resources/log4j.properties
deleted file mode 100644
index 8de4c4f..0000000
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-###set log levels###
-log4j.rootLogger=info, stdout
-###output to the console###
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.Target=System.out
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2}: %m%n
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/README.md b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/README.md
new file mode 100644
index 0000000..90e57b4
--- /dev/null
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/README.md
@@ -0,0 +1,111 @@
+# Overview
+
+This example demonstrates the basic usage of tracing in Dubbo application and report tracing information to zipkin. This
+example contains three parts, `dubbo-samples-spring-boot-tracing-provider`
+, `dubbo-samples-spring-boot-tracing-consumer` and `dubbo-samples-spring-boot-tracing-interface`.
+
+Apache Dubbo has inbuilt tracing through [Micrometer Observations](https://micrometer.io/)
+and [Micrometer Tracing](https://github.com/micrometer-metrics/tracing).
+
+## Quick Start
+
+### Install & Start Zipkin
+
+Follow [Zipkin's quick start](https://zipkin.io/pages/quickstart.html) to install zipkin.
+
+Here we use docker to quickly start a zipkin server.
+
+```bash
+docker run -d -p 9411:9411 --name zipkin openzipkin/zipkin
+```
+
+Then you can verify zipkin server works by access [http://localhost:9411](http://localhost:9411)
+
+![zipkin_home](static/zipkin_home.png)
+
+### Start Provider
+
+Start `org.apache.dubbo.springboot.demo.provider.ProviderApplication` directly from IDE.
+
+### Start Consumer
+
+Start `org.apache.dubbo.springboot.demo.consumer.ConsumerApplication` directly from IDE.
+
+### Check Result
+
+Open [http://localhost:9411/zipkin/](http://localhost:9411/zipkin/) in browser.
+
+![zipkin.png](static/zipkin.png)
+
+## How To Use Dubbo Tracing In Your Project
+
+### 1. Adding `dubbo-spring-boot-observability-starter` To Your Project
+
+For the Springboot project, you can use `dubbo-spring-boot-observability-starter` to easily have observability, Dubbo
+provides two types of starters at present, select one to add to pom:
+
+```xml
+
+<!-- Opentelemetry as Tracer, Zipkin as exporter -->
+<dependency>
+    <groupId>org.apache.dubbo</groupId>
+    <artifactId>dubbo-spring-boot-tracing-otel-zipkin-starter</artifactId>
+</dependency>
+```
+
+```xml
+
+<!-- Brave as Tracer, Zipkin as exporter -->
+<dependency>
+    <groupId>org.apache.dubbo</groupId>
+    <artifactId>dubbo-spring-boot-tracing-brave-zipkin-starter</artifactId>
+</dependency>
+```
+
+Dubbo will support more in the future, such as skywalking, Jagger.
+
+### 2. Configuration Tracing
+
+#### application.yml:
+
+```yaml
+dubbo:
+  tracing:
+    enabled: true # default is false
+    sampling:
+      probability: 0.5 # sampling rate, default is 0.1
+    propagation:
+      type: W3C # W3C/B3 default is W3C
+    tracing-exporter:
+      zipkin-config:
+        endpoint: http://localhost:9411/api/v2/spans
+        connect-timeout: 1s # connect timeout, default is 1s
+        read-timeout: 10s # read timeout, default is 10s
+
+# tracing info output to logging
+logging:
+  level:
+    root: info
+  pattern:
+    console: '[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2} [%X{traceId:-}, %X{spanId:-}]: %m%n'
+```
+
+### 3. Customizing Observation Filters
+
+To customize the tags present in metrics (low cardinality tags) and in spans (low and high cardinality tags) you should
+create your own versions of `DubboServerObservationConvention` (server side) and `DubboClientObservationConvention` (
+client side) and register them in the `ApplicationModel`'s `BeanFactory`. To reuse the existing ones
+check `DefaultDubboServerObservationConvention` (server side) and `DefaultDubboClientObservationConvention` (client
+side).
+
+## Extension
+
+An OpenZipkin URL sender dependency to send out spans to Zipkin via a URLConnectionSender
+
+```xml
+
+<dependency>
+    <groupId>io.zipkin.reporter2</groupId>
+    <artifactId>zipkin-sender-urlconnection</artifactId>
+</dependency>
+```
\ No newline at end of file
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/consumer/pom.xml
similarity index 88%
rename from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/pom.xml
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/consumer/pom.xml
index d309d24..19bef62 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/consumer/pom.xml
@@ -19,7 +19,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-samples-spring-boot-tracing</artifactId>
+        <artifactId>dubbo-samples-spring-boot-tracing-zipkin</artifactId>
         <version>1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
@@ -46,8 +46,14 @@
         <!-- registry dependency -->
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
+            <exclusions>
+                <exclusion>
+                    <artifactId>slf4j-reload4j</artifactId>
+                    <groupId>org.slf4j</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <!-- spring starter -->
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/java/org/apache/dubbo/springboot/demo/consumer/ConsumerApplication.java b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/consumer/src/main/java/org/apache/dubbo/springboot/demo/consumer/ConsumerApplication.java
similarity index 100%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/java/org/apache/dubbo/springboot/demo/consumer/ConsumerApplication.java
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/consumer/src/main/java/org/apache/dubbo/springboot/demo/consumer/ConsumerApplication.java
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/resources/application.yml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/consumer/src/main/resources/application.yml
similarity index 92%
rename from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/resources/application.yml
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/consumer/src/main/resources/application.yml
index 4c23fac..e1e1f6c 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-consumer/src/main/resources/application.yml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/consumer/src/main/resources/application.yml
@@ -44,5 +44,7 @@
         read-timeout: 10s # read timeout, default is 10s
 
 logging:
+  level:
+    root: info
   pattern:
-    level: '%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]'
+    console: '[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2} [%X{traceId:-}, %X{spanId:-}]: %m%n'
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/interface/pom.xml
similarity index 87%
rename from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/interface/pom.xml
index 90b1068..ea99032 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/interface/pom.xml
@@ -19,7 +19,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-samples-spring-boot-tracing</artifactId>
+        <artifactId>dubbo-samples-spring-boot-tracing-zipkin</artifactId>
         <version>1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
@@ -28,8 +28,8 @@
     <artifactId>dubbo-samples-spring-boot-tracing-interface</artifactId>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
         <maven.deploy.skip>true</maven.deploy.skip>
     </properties>
 
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/src/main/java/org/apache/dubbo/springboot/demo/DemoService.java b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/interface/src/main/java/org/apache/dubbo/springboot/demo/DemoService.java
similarity index 100%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/src/main/java/org/apache/dubbo/springboot/demo/DemoService.java
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/interface/src/main/java/org/apache/dubbo/springboot/demo/DemoService.java
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/pom.xml
similarity index 73%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/pom.xml
index 90b1068..4ddffb9 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-interface/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/pom.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -14,6 +15,7 @@
   See the License for the specific language governing permissions and
   limitations under the License.
   -->
+
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
@@ -25,12 +27,19 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>dubbo-samples-spring-boot-tracing-interface</artifactId>
+    <artifactId>dubbo-samples-spring-boot-tracing-zipkin</artifactId>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>interface</module>
+        <module>provider</module>
+        <module>consumer</module>
+    </modules>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
-        <maven.deploy.skip>true</maven.deploy.skip>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
-</project>
+</project>
\ No newline at end of file
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/pom.xml
similarity index 88%
rename from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/pom.xml
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/pom.xml
index b2aaa55..4e3f84a 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/pom.xml
@@ -19,7 +19,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-samples-spring-boot-tracing</artifactId>
+        <artifactId>dubbo-samples-spring-boot-tracing-zipkin</artifactId>
         <version>1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
@@ -47,8 +47,14 @@
         <!-- registry dependency -->
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
+            <exclusions>
+                <exclusion>
+                    <artifactId>slf4j-reload4j</artifactId>
+                    <groupId>org.slf4j</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <!-- spring starter -->
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/DemoServiceImpl.java b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/DemoServiceImpl.java
similarity index 100%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/DemoServiceImpl.java
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/DemoServiceImpl.java
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/EmbeddedZooKeeper.java b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/EmbeddedZooKeeper.java
similarity index 100%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/EmbeddedZooKeeper.java
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/EmbeddedZooKeeper.java
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java
similarity index 100%
copy from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java
copy to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/resources/application.yml b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/src/main/resources/application.yml
similarity index 92%
rename from 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/resources/application.yml
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/src/main/resources/application.yml
index 91ef28e..6b02c00 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-provider/src/main/resources/application.yml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/provider/src/main/resources/application.yml
@@ -44,5 +44,7 @@
         read-timeout: 10s # read timeout, default is 10s
 
 logging:
+  level:
+    root: info
   pattern:
-    level: '%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]'
+    console: '[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2} [%X{traceId:-}, %X{spanId:-}]: %m%n'
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/static/zipkin.png b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/static/zipkin.png
similarity index 100%
rename from 4-governance/dubbo-samples-spring-boot-tracing/static/zipkin.png
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/static/zipkin.png
Binary files differ
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/static/zipkin_home.png b/4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/static/zipkin_home.png
similarity index 100%
rename from 4-governance/dubbo-samples-spring-boot-tracing/static/zipkin_home.png
rename to 4-governance/dubbo-samples-spring-boot-tracing/dubbo-samples-spring-boot-tracing-zipkin/static/zipkin_home.png
Binary files differ
diff --git a/4-governance/dubbo-samples-spring-boot-tracing/pom.xml b/4-governance/dubbo-samples-spring-boot-tracing/pom.xml
index f48f59c..7371d6a 100644
--- a/4-governance/dubbo-samples-spring-boot-tracing/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot-tracing/pom.xml
@@ -36,16 +36,15 @@
     <description>Dubbo Samples Tracing</description>
 
     <modules>
-        <module>dubbo-samples-spring-boot-tracing-interface</module>
-        <module>dubbo-samples-spring-boot-tracing-provider</module>
-        <module>dubbo-samples-spring-boot-tracing-consumer</module>
+        <module>dubbo-samples-spring-boot-tracing-zipkin</module>
+        <module>dubbo-samples-spring-boot-tracing-otel-otlp</module>
     </modules>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <dubbo.version>3.2.1-SNAPSHOT</dubbo.version>
+        <dubbo.version>3.2.2-SNAPSHOT</dubbo.version>
         <micrometer.version>1.10.5</micrometer.version>
         <micrometer-tracing.version>1.0.3</micrometer-tracing.version>
         <opentelemetry.version>1.19.0</opentelemetry.version>
@@ -99,7 +98,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -115,20 +114,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>${slf4j-log4j12.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-        </dependency>
-
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>test</scope>
@@ -149,4 +134,20 @@
         </plugins>
     </build>
 
+    <repositories>
+        <repository>
+            <id>apache.snapshots.https</id>
+            <name>Apache Development Snapshot Repository</name>
+            <url>https://repository.apache.org/content/repositories/snapshots</url>
+            <layout>default</layout>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+                <updatePolicy>daily</updatePolicy>
+            </snapshots>
+        </repository>
+    </repositories>
+
 </project>
diff --git a/4-governance/dubbo-samples-spring-boot3-tracing/README.md b/4-governance/dubbo-samples-spring-boot3-tracing/README.md
index 65fe68c..1dc43f7 100644
--- a/4-governance/dubbo-samples-spring-boot3-tracing/README.md
+++ b/4-governance/dubbo-samples-spring-boot3-tracing/README.md
@@ -88,8 +88,10 @@
 
 # tracing info output to logging
 logging:
+  level:
+    root: info
   pattern:
-    level: '%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]'
+    console: '[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2} [%X{traceId:-}, %X{spanId:-}]: %m%n'
 ```
 
 ### 3. Customizing Observation Filters
diff --git a/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-consumer/src/main/resources/application.yml b/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-consumer/src/main/resources/application.yml
index a0a1892..90a670e 100644
--- a/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-consumer/src/main/resources/application.yml
+++ b/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-consumer/src/main/resources/application.yml
@@ -44,5 +44,7 @@
         read-timeout: 10s # read timeout, default is 10s
 
 logging:
+  level:
+    root: info
   pattern:
-    level: '%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]'
+    console: '[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2} [%X{traceId:-}, %X{spanId:-}]: %m%n'
diff --git a/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-consumer/src/main/resources/log4j.properties b/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-consumer/src/main/resources/log4j.properties
deleted file mode 100644
index 8de4c4f..0000000
--- a/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-consumer/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-###set log levels###
-log4j.rootLogger=info, stdout
-###output to the console###
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.Target=System.out
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2}: %m%n
diff --git a/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-interface/pom.xml b/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-interface/pom.xml
index 0c8037d..b5d493d 100644
--- a/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-interface/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-interface/pom.xml
@@ -28,8 +28,8 @@
     <artifactId>dubbo-samples-spring-boot3-tracing-interface</artifactId>
 
     <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
         <maven.deploy.skip>true</maven.deploy.skip>
     </properties>
 
diff --git a/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-provider/src/main/resources/application.yml b/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-provider/src/main/resources/application.yml
index 9c9c9d0..bb617df 100644
--- a/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-provider/src/main/resources/application.yml
+++ b/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-provider/src/main/resources/application.yml
@@ -44,5 +44,7 @@
         read-timeout: 10s # read timeout, default is 10s
 
 logging:
+  level:
+    root: info
   pattern:
-    level: '%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]'
+    console: '[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2} [%X{traceId:-}, %X{spanId:-}]: %m%n'
diff --git a/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-provider/src/main/resources/log4j.properties b/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-provider/src/main/resources/log4j.properties
deleted file mode 100644
index 8de4c4f..0000000
--- a/4-governance/dubbo-samples-spring-boot3-tracing/dubbo-samples-spring-boot3-tracing-provider/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-###set log levels###
-log4j.rootLogger=info, stdout
-###output to the console###
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.Target=System.out
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2}: %m%n
diff --git a/4-governance/dubbo-samples-spring-boot3-tracing/pom.xml b/4-governance/dubbo-samples-spring-boot3-tracing/pom.xml
index 5eea433..5352b98 100644
--- a/4-governance/dubbo-samples-spring-boot3-tracing/pom.xml
+++ b/4-governance/dubbo-samples-spring-boot3-tracing/pom.xml
@@ -117,20 +117,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>${slf4j-log4j12.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-        </dependency>
-
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>test</scope>
diff --git a/4-governance/dubbo-samples-spring-hystrix/pom.xml b/4-governance/dubbo-samples-spring-hystrix/pom.xml
index f1bf87d..ef49790 100644
--- a/4-governance/dubbo-samples-spring-hystrix/pom.xml
+++ b/4-governance/dubbo-samples-spring-hystrix/pom.xml
@@ -31,10 +31,11 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <hystrix.version>1.5.18</hystrix.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -55,8 +56,15 @@
                 <scope>import</scope>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -71,8 +79,14 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
+            <exclusions>
+                <exclusion>
+                    <artifactId>jackson-databind</artifactId>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
@@ -85,6 +99,20 @@
             <groupId>com.netflix.hystrix</groupId>
             <artifactId>hystrix-serialization</artifactId>
             <version>${hystrix.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>jackson-annotations</artifactId>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>jackson-core</artifactId>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>jackson-databind</artifactId>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
@@ -111,6 +139,58 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>2.14.2</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.14.2</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+            <version>2.14.2</version>
+        </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/4-governance/dubbo-samples-ssl/dubbo-samples-ssl-consumer/pom.xml b/4-governance/dubbo-samples-ssl/dubbo-samples-ssl-consumer/pom.xml
index 0b02184..bd00962 100644
--- a/4-governance/dubbo-samples-ssl/dubbo-samples-ssl-consumer/pom.xml
+++ b/4-governance/dubbo-samples-ssl/dubbo-samples-ssl-consumer/pom.xml
@@ -57,7 +57,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/4-governance/dubbo-samples-ssl/dubbo-samples-ssl-provider/pom.xml b/4-governance/dubbo-samples-ssl/dubbo-samples-ssl-provider/pom.xml
index 7bbe6ee..f2ffacc 100644
--- a/4-governance/dubbo-samples-ssl/dubbo-samples-ssl-provider/pom.xml
+++ b/4-governance/dubbo-samples-ssl/dubbo-samples-ssl-provider/pom.xml
@@ -57,7 +57,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/4-governance/dubbo-samples-ssl/pom.xml b/4-governance/dubbo-samples-ssl/pom.xml
index 72fb117..9863020 100644
--- a/4-governance/dubbo-samples-ssl/pom.xml
+++ b/4-governance/dubbo-samples-ssl/pom.xml
@@ -34,7 +34,7 @@
    </modules>
 
     <properties>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <spring-boot.version>2.1.1.RELEASE</spring-boot.version>
@@ -75,7 +75,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
diff --git a/4-governance/dubbo-samples-tagrouter/pom.xml b/4-governance/dubbo-samples-tagrouter/pom.xml
index 277201e..4eb068a 100644
--- a/4-governance/dubbo-samples-tagrouter/pom.xml
+++ b/4-governance/dubbo-samples-tagrouter/pom.xml
@@ -32,7 +32,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -58,7 +58,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -79,7 +79,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/99-integration/dubbo-samples-empty-protection-nacos/pom.xml b/99-integration/dubbo-samples-empty-protection-nacos/pom.xml
index 1f0ece6..a05bd86 100644
--- a/99-integration/dubbo-samples-empty-protection-nacos/pom.xml
+++ b/99-integration/dubbo-samples-empty-protection-nacos/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <slf4j.version>1.7.25</slf4j.version>
@@ -63,7 +63,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -112,6 +112,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
@@ -162,4 +163,4 @@
         </repository>
     </repositories>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-empty-protection/pom.xml b/99-integration/dubbo-samples-empty-protection/pom.xml
index 8047ba2..8397642 100644
--- a/99-integration/dubbo-samples-empty-protection/pom.xml
+++ b/99-integration/dubbo-samples-empty-protection/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -60,7 +60,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -75,7 +75,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -123,4 +123,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-api/pom.xml b/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-api/pom.xml
index c083354..4c64e2d 100644
--- a/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-api/pom.xml
+++ b/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-api/pom.xml
@@ -28,8 +28,8 @@
     <artifactId>dubbo-samples-spring-boot-hibernate-api</artifactId>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
     </properties>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-consumer/pom.xml b/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-consumer/pom.xml
index 35ab99f..b6a5eca 100644
--- a/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-consumer/pom.xml
+++ b/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-consumer/pom.xml
@@ -28,8 +28,8 @@
     <artifactId>dubbo-samples-spring-boot-hibernate-consumer</artifactId>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
     </properties>
 
     <dependencies>
@@ -45,4 +45,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-provider/pom.xml b/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-provider/pom.xml
index 22f5c92..ea7a2b0 100644
--- a/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-provider/pom.xml
+++ b/99-integration/dubbo-samples-hibernate/dubbo-samples-spring-boot-hibernate-provider/pom.xml
@@ -28,8 +28,8 @@
     <artifactId>dubbo-samples-spring-boot-hibernate-provider</artifactId>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
     </properties>
 
     <dependencies>
@@ -59,4 +59,4 @@
         </dependency>
 
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-hibernate/pom.xml b/99-integration/dubbo-samples-hibernate/pom.xml
index 0349f35..6b9e8df 100644
--- a/99-integration/dubbo-samples-hibernate/pom.xml
+++ b/99-integration/dubbo-samples-hibernate/pom.xml
@@ -42,7 +42,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <spring-boot.version>2.4.1</spring-boot.version>
@@ -67,7 +67,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -88,7 +88,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/99-integration/dubbo-samples-isolation-executor/pom.xml b/99-integration/dubbo-samples-isolation-executor/pom.xml
index 1abd8c7..bd874b5 100644
--- a/99-integration/dubbo-samples-isolation-executor/pom.xml
+++ b/99-integration/dubbo-samples-isolation-executor/pom.xml
@@ -26,7 +26,7 @@
     <version>1.0-SNAPSHOT</version>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
         <source.level>1.8</source.level>
@@ -44,7 +44,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -72,7 +72,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -107,4 +107,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-memory-server/src/main/java/org/apache/dubbo/samples/provider/Application.java b/99-integration/dubbo-samples-memory-server/src/main/java/org/apache/dubbo/samples/provider/Application.java
index 0b7dfb9..aaf9d79 100644
--- a/99-integration/dubbo-samples-memory-server/src/main/java/org/apache/dubbo/samples/provider/Application.java
+++ b/99-integration/dubbo-samples-memory-server/src/main/java/org/apache/dubbo/samples/provider/Application.java
@@ -35,9 +35,11 @@
         ServiceConfig<GreetingsService> service = new ServiceConfig<>();
         service.setInterface(GreetingsService.class);
         service.setRef(new GreetingsServiceImpl());
+        service.setTimeout(60000);
         ServiceConfig<QosService> qosService = new ServiceConfig<>();
         qosService.setInterface(QosService.class);
         qosService.setRef(new QosServiceImpl());
+        qosService.setTimeout(60000);
         ApplicationConfig applicationConfig = new ApplicationConfig("first-dubbo-provider");
 
         DubboBootstrap dubboBootstrap = DubboBootstrap.getInstance()
diff --git a/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/pom.xml b/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/pom.xml
index 3eda33c..9655bf8 100644
--- a/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/pom.xml
+++ b/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/pom.xml
@@ -30,9 +30,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -54,10 +55,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -69,7 +77,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -91,6 +99,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-annotation/pom.xml b/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-annotation/pom.xml
index cf24ef1..75ad47f 100644
--- a/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-annotation/pom.xml
+++ b/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-annotation/pom.xml
@@ -30,9 +30,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -54,10 +55,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -69,7 +77,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -91,6 +99,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-properties/pom.xml b/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-properties/pom.xml
index 4f4c025..b84f715 100644
--- a/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-properties/pom.xml
+++ b/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-properties/pom.xml
@@ -30,9 +30,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -54,10 +55,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -69,7 +77,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -91,6 +99,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-xml/pom.xml b/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-xml/pom.xml
index 2951fa1..4177335 100644
--- a/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-xml/pom.xml
+++ b/99-integration/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-xml/pom.xml
@@ -30,9 +30,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     </properties>
 
@@ -54,10 +55,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -75,7 +83,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -91,6 +99,42 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-api/pom.xml b/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-api/pom.xml
index cb62091..62a7e26 100644
--- a/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-api/pom.xml
+++ b/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-api/pom.xml
@@ -28,8 +28,8 @@
     <artifactId>dubbo-samples-spring-boot-mybatis-api</artifactId>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
     </properties>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-consumer/pom.xml b/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-consumer/pom.xml
index 35f9ab6..70310cb 100644
--- a/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-consumer/pom.xml
+++ b/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-consumer/pom.xml
@@ -28,8 +28,8 @@
     <artifactId>dubbo-samples-spring-boot-mybatis-consumer</artifactId>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
     </properties>
 
     <dependencies>
@@ -45,4 +45,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-provider/pom.xml b/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-provider/pom.xml
index edab085..2471729 100644
--- a/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-provider/pom.xml
+++ b/99-integration/dubbo-samples-mybatis/dubbo-samples-spring-boot-mybatis-provider/pom.xml
@@ -28,8 +28,8 @@
     <artifactId>dubbo-samples-spring-boot-mybatis-provider</artifactId>
 
     <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
     </properties>
 
     <dependencies>
@@ -64,4 +64,4 @@
             <version>${mybatis-plus-starter.version}</version>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-mybatis/pom.xml b/99-integration/dubbo-samples-mybatis/pom.xml
index c410fd4..d053207 100644
--- a/99-integration/dubbo-samples-mybatis/pom.xml
+++ b/99-integration/dubbo-samples-mybatis/pom.xml
@@ -41,7 +41,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring-boot.version>2.4.1</spring-boot.version>
         <mybatis-plus-starter.version>3.4.2</mybatis-plus-starter.version>
@@ -66,7 +66,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -87,7 +87,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-consumer/pom.xml b/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-consumer/pom.xml
index 3db2626..81102e8 100644
--- a/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-consumer/pom.xml
+++ b/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-consumer/pom.xml
@@ -61,6 +61,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
diff --git a/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-provider1/pom.xml b/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-provider1/pom.xml
index 919a542..5fddf5f 100644
--- a/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-provider1/pom.xml
+++ b/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-provider1/pom.xml
@@ -49,6 +49,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
diff --git a/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-provider2/pom.xml b/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-provider2/pom.xml
index e3fc9ef..27b2b46 100644
--- a/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-provider2/pom.xml
+++ b/99-integration/dubbo-samples-nacos-merge/dubbo-samples-nacos-merge-provider2/pom.xml
@@ -49,6 +49,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
diff --git a/99-integration/dubbo-samples-nacos-merge/pom.xml b/99-integration/dubbo-samples-nacos-merge/pom.xml
index 60b234a..e38b927 100644
--- a/99-integration/dubbo-samples-nacos-merge/pom.xml
+++ b/99-integration/dubbo-samples-nacos-merge/pom.xml
@@ -43,7 +43,7 @@
     </modules>
 
     <properties>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <source.level>1.8</source.level>
diff --git a/99-integration/dubbo-samples-port-unification-netty3/pom.xml b/99-integration/dubbo-samples-port-unification-netty3/pom.xml
index 5da1e4d..fde968b 100644
--- a/99-integration/dubbo-samples-port-unification-netty3/pom.xml
+++ b/99-integration/dubbo-samples-port-unification-netty3/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
@@ -52,7 +52,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -68,7 +68,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <version>${dubbo.version}</version>
         </dependency>
diff --git a/99-integration/dubbo-samples-prefer-serialization-test-31x/dubbo-samples-prefer-serialization-test-31x-consumer/pom.xml b/99-integration/dubbo-samples-prefer-serialization-test-31x/dubbo-samples-prefer-serialization-test-31x-consumer/pom.xml
index c7d3ad8..ecf6124 100644
--- a/99-integration/dubbo-samples-prefer-serialization-test-31x/dubbo-samples-prefer-serialization-test-31x-consumer/pom.xml
+++ b/99-integration/dubbo-samples-prefer-serialization-test-31x/dubbo-samples-prefer-serialization-test-31x-consumer/pom.xml
@@ -59,6 +59,12 @@
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-serialization-fst</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>jackson-core</artifactId>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
@@ -68,7 +74,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -101,4 +107,4 @@
             </dependencies>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-prefer-serialization-test-31x/dubbo-samples-prefer-serialization-test-31x-provider/pom.xml b/99-integration/dubbo-samples-prefer-serialization-test-31x/dubbo-samples-prefer-serialization-test-31x-provider/pom.xml
index a4d60bb..ee37312 100644
--- a/99-integration/dubbo-samples-prefer-serialization-test-31x/dubbo-samples-prefer-serialization-test-31x-provider/pom.xml
+++ b/99-integration/dubbo-samples-prefer-serialization-test-31x/dubbo-samples-prefer-serialization-test-31x-provider/pom.xml
@@ -54,6 +54,12 @@
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-serialization-fst</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>jackson-core</artifactId>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
@@ -63,7 +69,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -96,4 +102,4 @@
             </dependencies>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-prefer-serialization-test-31x/pom.xml b/99-integration/dubbo-samples-prefer-serialization-test-31x/pom.xml
index c91b124..e5a133d 100644
--- a/99-integration/dubbo-samples-prefer-serialization-test-31x/pom.xml
+++ b/99-integration/dubbo-samples-prefer-serialization-test-31x/pom.xml
@@ -35,7 +35,7 @@
     <description>Dubbo Samples Prefer Serialization Integration Test For 3.1.x compatibility</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <dubbo-serialization-fastjson.version>1.0.1</dubbo-serialization-fastjson.version>
         <dubbo-serialization-gson.version>1.0.1</dubbo-serialization-gson.version>
         <dubbo-serialization-fst.version>1.0.1</dubbo-serialization-fst.version>
@@ -79,7 +79,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -106,6 +106,12 @@
                 <groupId>org.apache.dubbo.extensions</groupId>
                 <artifactId>dubbo-serialization-fst</artifactId>
                 <version>${dubbo-serialization-fst.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <artifactId>jackson-core</artifactId>
+                        <groupId>com.fasterxml.jackson.core</groupId>
+                    </exclusion>
+                </exclusions>
             </dependency>
 
             <dependency>
@@ -129,4 +135,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-prefer-serialization-test/dubbo-samples-prefer-serialization-test-consumer/pom.xml b/99-integration/dubbo-samples-prefer-serialization-test/dubbo-samples-prefer-serialization-test-consumer/pom.xml
index b3909e7..3b8c2cc 100644
--- a/99-integration/dubbo-samples-prefer-serialization-test/dubbo-samples-prefer-serialization-test-consumer/pom.xml
+++ b/99-integration/dubbo-samples-prefer-serialization-test/dubbo-samples-prefer-serialization-test-consumer/pom.xml
@@ -53,11 +53,17 @@
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-serialization-fst</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>jackson-core</artifactId>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -90,4 +96,4 @@
             </dependencies>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-prefer-serialization-test/dubbo-samples-prefer-serialization-test-provider/pom.xml b/99-integration/dubbo-samples-prefer-serialization-test/dubbo-samples-prefer-serialization-test-provider/pom.xml
index 2a73902..35fbbed 100644
--- a/99-integration/dubbo-samples-prefer-serialization-test/dubbo-samples-prefer-serialization-test-provider/pom.xml
+++ b/99-integration/dubbo-samples-prefer-serialization-test/dubbo-samples-prefer-serialization-test-provider/pom.xml
@@ -54,11 +54,17 @@
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-serialization-fst</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>jackson-core</artifactId>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -91,4 +97,4 @@
             </dependencies>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-prefer-serialization-test/pom.xml b/99-integration/dubbo-samples-prefer-serialization-test/pom.xml
index 5cd5e17..89dc9ec 100644
--- a/99-integration/dubbo-samples-prefer-serialization-test/pom.xml
+++ b/99-integration/dubbo-samples-prefer-serialization-test/pom.xml
@@ -35,7 +35,7 @@
     <description>Dubbo Samples Prefer Serialization Integration Test</description>
 
     <properties>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <dubbo-serialization-fastjson.version>1.0.1</dubbo-serialization-fastjson.version>
         <dubbo-serialization-gson.version>1.0.1</dubbo-serialization-gson.version>
         <dubbo-serialization-fst.version>1.0.1</dubbo-serialization-fst.version>
@@ -78,7 +78,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -105,6 +105,12 @@
                 <groupId>org.apache.dubbo.extensions</groupId>
                 <artifactId>dubbo-serialization-fst</artifactId>
                 <version>${dubbo-serialization-fst.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <artifactId>jackson-core</artifactId>
+                        <groupId>com.fasterxml.jackson.core</groupId>
+                    </exclusion>
+                </exclusions>
             </dependency>
         </dependencies>
     </dependencyManagement>
@@ -122,4 +128,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-registry-test-curator-instance/pom.xml b/99-integration/dubbo-samples-registry-test-curator-instance/pom.xml
index c1f487d..5b48b50 100644
--- a/99-integration/dubbo-samples-registry-test-curator-instance/pom.xml
+++ b/99-integration/dubbo-samples-registry-test-curator-instance/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <curator.version>4.2.0</curator.version>
         <zookeeper.version>3.7.0</zookeeper.version>
         <junit.version>4.13.1</junit.version>
@@ -115,6 +115,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
@@ -148,4 +149,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-registry-test-curator-interface/pom.xml b/99-integration/dubbo-samples-registry-test-curator-interface/pom.xml
index 66f2e07..595be88 100644
--- a/99-integration/dubbo-samples-registry-test-curator-interface/pom.xml
+++ b/99-integration/dubbo-samples-registry-test-curator-interface/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <curator.version>4.2.0</curator.version>
         <zookeeper.version>3.7.0</zookeeper.version>
         <junit.version>4.13.1</junit.version>
@@ -115,6 +115,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
@@ -148,4 +149,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-registry-test-curator/pom.xml b/99-integration/dubbo-samples-registry-test-curator/pom.xml
index 2c85f57..4831763 100644
--- a/99-integration/dubbo-samples-registry-test-curator/pom.xml
+++ b/99-integration/dubbo-samples-registry-test-curator/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <curator.version>4.2.0</curator.version>
         <zookeeper.version>3.7.0</zookeeper.version>
         <junit.version>4.13.1</junit.version>
@@ -116,6 +116,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
@@ -149,4 +150,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-registry-test-nacos-instance/pom.xml b/99-integration/dubbo-samples-registry-test-nacos-instance/pom.xml
index f5c0ac6..3c3c016 100644
--- a/99-integration/dubbo-samples-registry-test-nacos-instance/pom.xml
+++ b/99-integration/dubbo-samples-registry-test-nacos-instance/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.1.1</nacos.version>
         <junit.version>4.13.1</junit.version>
         <awaitility.version>4.2.0</awaitility.version>
@@ -96,11 +96,13 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
 
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
         </dependency>
 
         <dependency>
@@ -140,4 +142,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-registry-test-nacos-interface/pom.xml b/99-integration/dubbo-samples-registry-test-nacos-interface/pom.xml
index 52907df..4b662df 100644
--- a/99-integration/dubbo-samples-registry-test-nacos-interface/pom.xml
+++ b/99-integration/dubbo-samples-registry-test-nacos-interface/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.1.1</nacos.version>
         <junit.version>4.13.1</junit.version>
         <awaitility.version>4.2.0</awaitility.version>
@@ -96,11 +96,13 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
 
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
         </dependency>
 
         <dependency>
@@ -140,4 +142,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-registry-test-nacos/pom.xml b/99-integration/dubbo-samples-registry-test-nacos/pom.xml
index 625f5f0..8ea5c18 100644
--- a/99-integration/dubbo-samples-registry-test-nacos/pom.xml
+++ b/99-integration/dubbo-samples-registry-test-nacos/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <nacos.version>2.1.1</nacos.version>
         <junit.version>4.13.1</junit.version>
         <awaitility.version>4.2.0</awaitility.version>
@@ -96,11 +96,13 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
 
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
         </dependency>
 
         <dependency>
@@ -140,4 +142,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-rest-withtoken/dubbo-samples-rest-withtoken-consumer/pom.xml b/99-integration/dubbo-samples-rest-withtoken/dubbo-samples-rest-withtoken-consumer/pom.xml
index 270d6f5..360cff6 100644
--- a/99-integration/dubbo-samples-rest-withtoken/dubbo-samples-rest-withtoken-consumer/pom.xml
+++ b/99-integration/dubbo-samples-rest-withtoken/dubbo-samples-rest-withtoken-consumer/pom.xml
@@ -47,7 +47,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/99-integration/dubbo-samples-rest-withtoken/dubbo-samples-rest-withtoken-provider/pom.xml b/99-integration/dubbo-samples-rest-withtoken/dubbo-samples-rest-withtoken-provider/pom.xml
index e74204d..d6f6701 100644
--- a/99-integration/dubbo-samples-rest-withtoken/dubbo-samples-rest-withtoken-provider/pom.xml
+++ b/99-integration/dubbo-samples-rest-withtoken/dubbo-samples-rest-withtoken-provider/pom.xml
@@ -48,7 +48,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <exclusions>
                 <exclusion>
diff --git a/99-integration/dubbo-samples-rest-withtoken/pom.xml b/99-integration/dubbo-samples-rest-withtoken/pom.xml
index 1b56885..7186335 100644
--- a/99-integration/dubbo-samples-rest-withtoken/pom.xml
+++ b/99-integration/dubbo-samples-rest-withtoken/pom.xml
@@ -33,7 +33,7 @@
         <spring-boot-maven-plugin.version>2.1.1.RELEASE</spring-boot-maven-plugin.version>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <maven.compiler.source>${source.level}</maven.compiler.source>
         <maven.compiler.target>${target.level}</maven.compiler.target>
     </properties>
@@ -84,7 +84,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
diff --git a/99-integration/dubbo-samples-router-chain-switch/pom.xml b/99-integration/dubbo-samples-router-chain-switch/pom.xml
index f94e775..54f3d81 100644
--- a/99-integration/dubbo-samples-router-chain-switch/pom.xml
+++ b/99-integration/dubbo-samples-router-chain-switch/pom.xml
@@ -33,7 +33,7 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <dubbo.version>3.2.0-beta.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
@@ -51,7 +51,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -67,7 +67,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
             <version>${dubbo.version}</version>
         </dependency>
@@ -92,4 +92,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-consumer/pom.xml b/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-consumer/pom.xml
index 460ca79..55df55d 100644
--- a/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-consumer/pom.xml
+++ b/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-consumer/pom.xml
@@ -43,7 +43,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-provider1/pom.xml b/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-provider1/pom.xml
index 8018e8a..ff02159 100644
--- a/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-provider1/pom.xml
+++ b/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-provider1/pom.xml
@@ -43,7 +43,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
     </dependencies>
diff --git a/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-provider2/pom.xml b/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-provider2/pom.xml
index e13125a..aa0c64c 100644
--- a/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-provider2/pom.xml
+++ b/99-integration/dubbo-samples-sd-group/dubbo-samples-sd-group-provider2/pom.xml
@@ -43,7 +43,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
     </dependencies>
diff --git a/99-integration/dubbo-samples-sd-group/pom.xml b/99-integration/dubbo-samples-sd-group/pom.xml
index d014c22..e4888f6 100644
--- a/99-integration/dubbo-samples-sd-group/pom.xml
+++ b/99-integration/dubbo-samples-sd-group/pom.xml
@@ -31,7 +31,7 @@
     <artifactId>dubbo-samples-sd-group</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>pom</packaging>
-    
+
     <name>Dubbo Samples Sd Group</name>
     <description>Dubbo Samples Sd Group</description>
 
@@ -43,7 +43,7 @@
     </modules>
 
     <properties>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <source.level>1.8</source.level>
@@ -77,7 +77,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
diff --git a/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-consumer/pom.xml b/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-consumer/pom.xml
index d7907a8..de286b9 100644
--- a/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-consumer/pom.xml
+++ b/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-consumer/pom.xml
@@ -43,7 +43,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-provider1/pom.xml b/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-provider1/pom.xml
index 8b19a9c..cb9cd25 100644
--- a/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-provider1/pom.xml
+++ b/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-provider1/pom.xml
@@ -43,7 +43,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
     </dependencies>
diff --git a/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-provider2/pom.xml b/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-provider2/pom.xml
index 01b6fd5..8df9906 100644
--- a/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-provider2/pom.xml
+++ b/99-integration/dubbo-samples-sd-merge/dubbo-samples-sd-merge-provider2/pom.xml
@@ -43,7 +43,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
     </dependencies>
diff --git a/99-integration/dubbo-samples-sd-merge/pom.xml b/99-integration/dubbo-samples-sd-merge/pom.xml
index c680d29..a8a5972 100644
--- a/99-integration/dubbo-samples-sd-merge/pom.xml
+++ b/99-integration/dubbo-samples-sd-merge/pom.xml
@@ -43,7 +43,7 @@
     </modules>
 
     <properties>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <source.level>1.8</source.level>
@@ -77,7 +77,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
diff --git a/99-integration/dubbo-samples-sd-version/pom.xml b/99-integration/dubbo-samples-sd-version/pom.xml
index 6c48ef0..ace2cf6 100644
--- a/99-integration/dubbo-samples-sd-version/pom.xml
+++ b/99-integration/dubbo-samples-sd-version/pom.xml
@@ -37,7 +37,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -61,7 +61,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -76,7 +76,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/99-integration/dubbo-samples-sentinel-compact/pom.xml b/99-integration/dubbo-samples-sentinel-compact/pom.xml
index 5c9506a..2ed370a 100644
--- a/99-integration/dubbo-samples-sentinel-compact/pom.xml
+++ b/99-integration/dubbo-samples-sentinel-compact/pom.xml
@@ -37,9 +37,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring.version>4.3.29.RELEASE</spring.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <sentinel.version>1.8.4</sentinel.version>
     </properties>
 
@@ -61,11 +62,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-log4j12</artifactId>
                 <version>1.7.25</version>
@@ -95,7 +103,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
         <dependency>
@@ -116,6 +124,43 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/99-integration/dubbo-samples-sentinel-dubbo3/pom.xml b/99-integration/dubbo-samples-sentinel-dubbo3/pom.xml
index 5d15104..054040d 100644
--- a/99-integration/dubbo-samples-sentinel-dubbo3/pom.xml
+++ b/99-integration/dubbo-samples-sentinel-dubbo3/pom.xml
@@ -37,9 +37,10 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <spring.version>4.3.29.RELEASE</spring.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <sentinel.version>1.8.6</sentinel.version>
     </properties>
 
@@ -61,7 +62,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -71,6 +72,13 @@
                 <version>1.7.25</version>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -95,7 +103,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
         <dependency>
@@ -116,6 +124,43 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/99-integration/dubbo-samples-serialize-check/pom.xml b/99-integration/dubbo-samples-serialize-check/pom.xml
index 52cdc56..3be2ccf 100644
--- a/99-integration/dubbo-samples-serialize-check/pom.xml
+++ b/99-integration/dubbo-samples-serialize-check/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit.version>4.13.1</junit.version>
         <awaitility.version>4.2.0</awaitility.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -61,6 +61,13 @@
             </dependency>
 
             <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+            </dependency>
+
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -76,7 +83,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -99,6 +106,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
diff --git a/99-integration/dubbo-samples-serialize-check/src/main/java/org/apache/dubbo/samples/Provider.java b/99-integration/dubbo-samples-serialize-check/src/main/java/org/apache/dubbo/samples/Provider.java
index cd361b9..96ba7d1 100644
--- a/99-integration/dubbo-samples-serialize-check/src/main/java/org/apache/dubbo/samples/Provider.java
+++ b/99-integration/dubbo-samples-serialize-check/src/main/java/org/apache/dubbo/samples/Provider.java
@@ -111,6 +111,7 @@
 
         ApplicationConfig applicationConfig = new ApplicationConfig();
         applicationConfig.setSerializeCheckStatus("STRICT");
+        applicationConfig.setTrustSerializeClassLevel(3);
         applicationConfig.setName("provider");
         DubboBootstrap.getInstance()
                 .application(applicationConfig)
diff --git a/99-integration/dubbo-samples-serialize-check/src/test/java/org/apache/dubbo/test/CheckIT.java b/99-integration/dubbo-samples-serialize-check/src/test/java/org/apache/dubbo/test/CheckIT.java
index ef20db2..2ede188 100644
--- a/99-integration/dubbo-samples-serialize-check/src/test/java/org/apache/dubbo/test/CheckIT.java
+++ b/99-integration/dubbo-samples-serialize-check/src/test/java/org/apache/dubbo/test/CheckIT.java
@@ -18,10 +18,6 @@
  */
 package org.apache.dubbo.test;
 
-import java.lang.reflect.Proxy;
-import java.util.Arrays;
-import java.util.Map;
-
 import org.apache.dubbo.common.beanutil.JavaBeanDescriptor;
 import org.apache.dubbo.common.beanutil.JavaBeanSerializeUtil;
 import org.apache.dubbo.common.utils.PojoUtils;
@@ -36,18 +32,23 @@
 import org.apache.dubbo.samples.Parent;
 import org.apache.dubbo.samples.User;
 import org.apache.dubbo.samples.User2;
+
+import io.dubbo.test2.OthersSerializable;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import io.dubbo.test2.OthersSerializable;
+import java.lang.reflect.Proxy;
+import java.util.Arrays;
+import java.util.Map;
 
 public class CheckIT {
     @BeforeClass
     public static void setup() {
         ApplicationConfig applicationConfig = new ApplicationConfig();
         applicationConfig.setSerializeCheckStatus("STRICT");
+        applicationConfig.setTrustSerializeClassLevel(3);
         applicationConfig.setName("consumer");
         DubboBootstrap.getInstance()
                 .application(applicationConfig)
diff --git a/99-integration/dubbo-samples-serialize-check/src/test/java/org/apache/dubbo/test/CheckIoIT.java b/99-integration/dubbo-samples-serialize-check/src/test/java/org/apache/dubbo/test/CheckIoIT.java
index 4a9809a..c26b2b5 100644
--- a/99-integration/dubbo-samples-serialize-check/src/test/java/org/apache/dubbo/test/CheckIoIT.java
+++ b/99-integration/dubbo-samples-serialize-check/src/test/java/org/apache/dubbo/test/CheckIoIT.java
@@ -18,10 +18,6 @@
  */
 package org.apache.dubbo.test;
 
-import java.lang.reflect.Proxy;
-import java.util.Arrays;
-import java.util.Map;
-
 import org.apache.dubbo.common.beanutil.JavaBeanDescriptor;
 import org.apache.dubbo.common.beanutil.JavaBeanSerializeUtil;
 import org.apache.dubbo.common.utils.PojoUtils;
@@ -31,10 +27,6 @@
 import org.apache.dubbo.config.bootstrap.DubboBootstrap;
 import org.apache.dubbo.rpc.model.FrameworkModel;
 import org.apache.dubbo.rpc.service.GenericService;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
 
 import io.dubbo.test.DemoService2;
 import io.dubbo.test.NotSerializable;
@@ -42,12 +34,21 @@
 import io.dubbo.test.User;
 import io.dubbo.test.User2;
 import io.dubbo.test2.OthersSerializable;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.lang.reflect.Proxy;
+import java.util.Arrays;
+import java.util.Map;
 
 public class CheckIoIT {
     @BeforeClass
     public static void setup() {
         ApplicationConfig applicationConfig = new ApplicationConfig();
         applicationConfig.setSerializeCheckStatus("STRICT");
+        applicationConfig.setTrustSerializeClassLevel(3);
         applicationConfig.setName("consumer");
         DubboBootstrap.getInstance()
                 .application(applicationConfig)
diff --git a/99-integration/dubbo-samples-switch-serialization-thread/pom.xml b/99-integration/dubbo-samples-switch-serialization-thread/pom.xml
index 5f37a37..5e50854 100644
--- a/99-integration/dubbo-samples-switch-serialization-thread/pom.xml
+++ b/99-integration/dubbo-samples-switch-serialization-thread/pom.xml
@@ -36,8 +36,9 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
+        <zookeeper_version>3.8.1</zookeeper_version>
         <junit.version>4.13.1</junit.version>
     </properties>
 
@@ -59,11 +60,18 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
             <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>parent</artifactId>
+                <version>${zookeeper_version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-log4j12</artifactId>
                 <version>1.7.25</version>
@@ -84,7 +92,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -99,6 +107,43 @@
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
         </dependency>
+
+
+        <!-- Embedded Zookeeper Server dependencies START -->
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.xerial.snappy</groupId>
+            <artifactId>snappy-java</artifactId>
+        </dependency>
+        <!-- Embedded Zookeeper Server dependencies END -->
     </dependencies>
 
     <profiles>
diff --git a/99-integration/dubbo-samples-test-10704/pom.xml b/99-integration/dubbo-samples-test-10704/pom.xml
index a046041..a54eebe 100644
--- a/99-integration/dubbo-samples-test-10704/pom.xml
+++ b/99-integration/dubbo-samples-test-10704/pom.xml
@@ -33,7 +33,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -57,7 +57,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -72,7 +72,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/99-integration/dubbo-samples-test-11096/pom.xml b/99-integration/dubbo-samples-test-11096/pom.xml
index ed3f288..fc89931 100644
--- a/99-integration/dubbo-samples-test-11096/pom.xml
+++ b/99-integration/dubbo-samples-test-11096/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -60,7 +60,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -75,7 +75,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -123,4 +123,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-test-11137/pom.xml b/99-integration/dubbo-samples-test-11137/pom.xml
index 99b92e3..8ea4ef1 100644
--- a/99-integration/dubbo-samples-test-11137/pom.xml
+++ b/99-integration/dubbo-samples-test-11137/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <awaitility.version>4.2.0</awaitility.version>
@@ -76,6 +76,13 @@
             </dependency>
 
             <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+            </dependency>
+
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -91,7 +98,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -121,6 +128,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
@@ -154,4 +162,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-test-11159/pom.xml b/99-integration/dubbo-samples-test-11159/pom.xml
index a76f9a5..4a7988e 100644
--- a/99-integration/dubbo-samples-test-11159/pom.xml
+++ b/99-integration/dubbo-samples-test-11159/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <awaitility.version>4.2.0</awaitility.version>
@@ -76,6 +76,13 @@
             </dependency>
 
             <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+            </dependency>
+
+            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
@@ -91,7 +98,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -121,6 +128,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
         </dependency>
     </dependencies>
 
@@ -154,4 +162,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-test-11557/pom.xml b/99-integration/dubbo-samples-test-11557/pom.xml
index 2bd275e..511b5e0 100644
--- a/99-integration/dubbo-samples-test-11557/pom.xml
+++ b/99-integration/dubbo-samples-test-11557/pom.xml
@@ -36,7 +36,7 @@
     <description>Dubbo Samples Test For Issue 11557</description>
 
     <properties>
-        <dubbo.version>3.1.5</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit5.version>5.9.2</junit5.version>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
diff --git a/99-integration/dubbo-samples-test-11558/pom.xml b/99-integration/dubbo-samples-test-11558/pom.xml
index beae4c2..a3fb018 100644
--- a/99-integration/dubbo-samples-test-11558/pom.xml
+++ b/99-integration/dubbo-samples-test-11558/pom.xml
@@ -36,7 +36,7 @@
     <description>Dubbo Samples Test For Issue 11557</description>
 
     <properties>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit5.version>5.9.2</junit5.version>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
diff --git a/99-integration/dubbo-samples-test-11716/pom.xml b/99-integration/dubbo-samples-test-11716/pom.xml
index c17ae08..53abc4e 100644
--- a/99-integration/dubbo-samples-test-11716/pom.xml
+++ b/99-integration/dubbo-samples-test-11716/pom.xml
@@ -36,7 +36,7 @@
     <description>Dubbo Samples Test For Issue 11557</description>
 
     <properties>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit5.version>5.9.2</junit5.version>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
diff --git a/99-integration/dubbo-samples-test-11782/pom.xml b/99-integration/dubbo-samples-test-11782/pom.xml
index 9370ff6..0a94901 100644
--- a/99-integration/dubbo-samples-test-11782/pom.xml
+++ b/99-integration/dubbo-samples-test-11782/pom.xml
@@ -36,7 +36,7 @@
     <description>Dubbo Samples Test For Issue 11557</description>
 
     <properties>
-        <dubbo.version>3.1.7</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <junit5.version>5.9.2</junit5.version>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
diff --git a/99-integration/dubbo-samples-test-12208/dubbo-samples-test-12208-test/pom.xml b/99-integration/dubbo-samples-test-12208/dubbo-samples-test-12208-test/pom.xml
index 3d31f7c..2f6a0cb 100644
--- a/99-integration/dubbo-samples-test-12208/dubbo-samples-test-12208-test/pom.xml
+++ b/99-integration/dubbo-samples-test-12208/dubbo-samples-test-12208-test/pom.xml
@@ -45,7 +45,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/99-integration/dubbo-samples-test-12208/pom.xml b/99-integration/dubbo-samples-test-12208/pom.xml
index 8b79c10..67b9db4 100644
--- a/99-integration/dubbo-samples-test-12208/pom.xml
+++ b/99-integration/dubbo-samples-test-12208/pom.xml
@@ -75,7 +75,7 @@
 
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
diff --git a/99-integration/dubbo-samples-test-9806/pom.xml b/99-integration/dubbo-samples-test-9806/pom.xml
index d191678..937ac6b 100644
--- a/99-integration/dubbo-samples-test-9806/pom.xml
+++ b/99-integration/dubbo-samples-test-9806/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -60,7 +60,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -75,7 +75,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
@@ -123,4 +123,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/99-integration/dubbo-samples-transaction/pom.xml b/99-integration/dubbo-samples-transaction/pom.xml
index 8bb6148..db83bff 100644
--- a/99-integration/dubbo-samples-transaction/pom.xml
+++ b/99-integration/dubbo-samples-transaction/pom.xml
@@ -37,7 +37,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.1.6</dubbo.version>
+        <dubbo.version>3.2.0</dubbo.version>
         <seata.version>1.4.2</seata.version>
         <spring.version>4.3.29.RELEASE</spring.version>
         <junit.version>4.13.1</junit.version>
@@ -62,7 +62,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>
@@ -77,7 +77,7 @@
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <type>pom</type>
         </dependency>
 
diff --git a/README.md b/README.md
index b10709b..35f9b6b 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@
 # Dubbo Samples
 
-Samples for Apache Dubbo
+Samples for Apache Dubbo.
 
 ![Build Status](https://github.com/apache/dubbo-samples/workflows/Dubbo%202/badge.svg)
 ![license](https://img.shields.io/github/license/apache/dubbo-samples.svg)
 
-This repository contains a number of projects to illustrate various usages of Dubbo from basic to advanced, pls. check README in each individual sub projects. It is also helpful to cross reference to [Dubbo User Manual](https://dubbo.apache.org/en/docs/v2.7/user/quick-start/) to understand the features demoed in this project.
+This repository contains a number of projects to illustrate various usages of Dubbo from basic to advanced, pls. check README in each individual sub projects. It is also helpful to cross reference to [Dubbo User Manual](https://dubbo.apache.org/zh-cn/overview/tasks/) to understand the features demoed in this project.
 
 What's more, [dubbo-go](https://github.com/apache/dubbo-go) samples are moved to [dubbo-go-samples](https://github.com/apache/dubbo-go-samples).
 
@@ -13,15 +13,20 @@
 
 To compile all samples, run the following command in the top directory of this project, or step into the sub directories to compile one single sample:
 
+We do not recommend you build the entire project from the root directory, as building the entire samples can take a long time. Each module in Samples is designed independently so you can first go to the demo directory you care about, then execute the build and run the demo.
+
+For example,
+
 ```bash
-mvn clean package
+$ cd 1-basic/dubbo-samples-spring-boot
+$ mvn clean package
 ```
 
 You may need to read each individual README under the sub directories if you have to understand how to build and run.
 
 ## Integration Test
 
-This project is also used for integration tests for dubbo.
+This project is also used for integration tests for dubbo. If you are just learning how to use Dubbo you don't have to care about this part.
 
 **How to build and run a integration test**
 
diff --git a/test/convert-case.md b/test/convert-case.md
index bcfd765..0595ae2 100644
--- a/test/convert-case.md
+++ b/test/convert-case.md
@@ -259,7 +259,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <version>${dubbo.version}</version>
             <type>pom</type>
         </dependency>
@@ -289,7 +289,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
             <version>${dubbo.version}</version>
             <type>pom</type>
         </dependency>
@@ -366,7 +366,7 @@
 <dependencies>
     <dependency>
         <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-dependencies-zookeeper</artifactId>
+        <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
         <type>pom</type>
     </dependency>
 </dependencies>