blob: e3e0f4329cd391eba9ab82980d0b5e09855557a1 [file] [log] [blame]
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – Mesh Manual</title><link>https://dubbo.apache.org/en/docs3-v2/java-sdk/reference-manual/mesh/</link><description>Recent content in Mesh Manual on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="https://dubbo.apache.org/en/docs3-v2/java-sdk/reference-manual/mesh/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs3-V2: Debug Reference Documentation</title><link>https://dubbo.apache.org/en/docs3-v2/java-sdk/reference-manual/mesh/mesh/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs3-v2/java-sdk/reference-manual/mesh/mesh/</guid><description>
&lt;h2 id="pre-environment-preparation">Pre-environment preparation&lt;/h2>
&lt;ul>
&lt;li>docker environment&lt;/li>
&lt;li>kubernetes environment (docker desktop is recommended, with a graphical interface, and a small Kubernetes environment is embedded, and the following demonstration is also based on docker desktop)&lt;/li>
&lt;li>istio environment&lt;/li>
&lt;li>dubbo-samples code, the master branch is fine&lt;/li>
&lt;li>dubbo version &amp;gt;= 3.1.0
Build a Kubernetes environment
Currently Dubbo only supports Mesh deployment in the Kubernetes environment, so you need to set up the Kubernetes environment before running and starting this example. (It is recommended to use docker desktop to build, and you can run a kubernetes environment directly)
&lt;a href="https://docs.docker.com/desktop/install/mac-install/">https://docs.docker.com/desktop/install/mac-install/&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="build-kubernetes-environment">Build Kubernetes environment&lt;/h2>
&lt;p>Currently Dubbo only supports Mesh deployment in the Kubernetes environment, so you need to set up the Kubernetes environment before running and starting this example. (It is recommended to use docker desktop to build, and you can run a kubernetes environment directly)
&lt;a href="https://docs.docker.com/desktop/install/mac-install/">https://docs.docker.com/desktop/install/mac-install/&lt;/a>&lt;/p>
&lt;h2 id="build-kubernetes-environment-1">Build Kubernetes environment&lt;/h2>
&lt;p>Build the Istio environment reference document:
Istio installation documentation (&lt;a href="https://istio.io/latest/docs/setup/getting-started/">https://istio.io/latest/docs/setup/getting-started/&lt;/a>)
Note: When installing Istio, you need to enable first-party-jwt support (add the &amp;ndash;set values.global.jwtPolicy=first-party-jwt parameter when using the istioctl tool to install), otherwise it will cause client authentication to fail.
Attached installation command reference:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>curl &lt;span style="color:#719e07">-&lt;/span>L https:&lt;span style="color:#586e75">//istio.io/downloadIstio | sh -&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd istio&lt;span style="color:#719e07">-&lt;/span>1.xx.x
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>export PATH&lt;span style="color:#719e07">=&lt;/span>$PWD&lt;span style="color:#719e07">/&lt;/span>bin:$PATH
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>istioctl install &lt;span style="color:#719e07">--&lt;/span>set profile&lt;span style="color:#719e07">=&lt;/span>demo &lt;span style="color:#719e07">--&lt;/span>set values.global.jwtPolicy&lt;span style="color:#719e07">=&lt;/span>first&lt;span style="color:#719e07">-&lt;/span>party&lt;span style="color:#719e07">-&lt;/span>jwt &lt;span style="color:#719e07">-&lt;/span>y
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="start-to-build-dubbo-and-dubbo-samples-environment">Start to build dubbo and dubbo-samples environment&lt;/h2>
&lt;p>Enter dubbo-dependencies-bom, change grpc version to 1.41.0&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">&amp;lt;&lt;/span>grpc.version&lt;span style="color:#719e07">&amp;gt;&lt;/span>1.41.0&lt;span style="color:#719e07">&amp;lt;/&lt;/span>grpc.version&lt;span style="color:#719e07">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Enter the dubbo-samples-xds directory and add configuration:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>dubbo.application.metadataServiceProtocol&lt;span style="color:#719e07">=&lt;/span>dubbo
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Package the dubbo code, switch to the dubbo root directory, and execute the following command to package:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>mvn clean &lt;span style="color:#719e07">package&lt;/span> -DskipTests
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Switch to the dubbo-samples code, and introduce the newly packaged dubbo code into the pom file of dubbo-samples-xds.
Next, modify the debug mode, taking dubbo-xds-consumer as an example:
Change the docker file of dubbo-samples-consumer and change the debug mode to suspend=y, the changed docker file is as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>FROM openjdk:8&lt;span style="color:#719e07">-&lt;/span>jdk
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ADD .&lt;span style="color:#719e07">/&lt;/span>target&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">-&lt;/span>1.0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT.jar dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">-&lt;/span>1.0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT.jar
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>EXPOSE 31000
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>CMD java &lt;span style="color:#719e07">-&lt;/span>jar &lt;span style="color:#719e07">-&lt;/span>agentlib:jdwp&lt;span style="color:#719e07">=&lt;/span>transport&lt;span style="color:#719e07">=&lt;/span>dt_socket,server&lt;span style="color:#719e07">=&lt;/span>y,suspend&lt;span style="color:#719e07">=&lt;/span>y,address&lt;span style="color:#719e07">=&lt;/span>31000 &lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">-&lt;/span>1.0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT.jar
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Then execute the following command to package:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>cd dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>mvn clean &lt;span style="color:#719e07">package&lt;/span> -DskipTests
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="build-docker-image">Build docker image&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>cd .&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">/&lt;/span>Dockerfile
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>docker build &lt;span style="color:#719e07">-&lt;/span>t apache&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>demo:dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider_0.0.1 .
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd ..&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">/&lt;/span>Dockerfile
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>docker build &lt;span style="color:#719e07">-&lt;/span>t apache&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>demo:dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer_0.0.1 .
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd ..&lt;span style="color:#719e07">/&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="create-k8s-namespace">Create K8s namespace&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span># Initialize the namespace
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl apply &lt;span style="color:#719e07">-&lt;/span>f https:&lt;span style="color:#586e75">//raw.githubusercontent.com/apache/dubbo-samples/master/dubbo-samples-xds/deploy/Namespace.yml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># &lt;span style="color:#719e07">switch&lt;/span> namespace
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubens dubbo&lt;span style="color:#719e07">-&lt;/span>demo
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>If the kubens switch is unsuccessful, just install kubectl&lt;/p>
&lt;h2 id="deploy-container">deploy container&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>cd .&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">/&lt;/span>src&lt;span style="color:#719e07">/&lt;/span>main&lt;span style="color:#719e07">/&lt;/span>resources&lt;span style="color:#719e07">/&lt;/span>k8s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">/&lt;/span>src&lt;span style="color:#719e07">/&lt;/span>main&lt;span style="color:#719e07">/&lt;/span>resources&lt;span style="color:#719e07">/&lt;/span>k8s&lt;span style="color:#719e07">/&lt;/span>Deployment.yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">/&lt;/span>src&lt;span style="color:#719e07">/&lt;/span>main&lt;span style="color:#719e07">/&lt;/span>resources&lt;span style="color:#719e07">/&lt;/span>k8s&lt;span style="color:#719e07">/&lt;/span>Service.yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl apply &lt;span style="color:#719e07">-&lt;/span>f Deployment.yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl apply &lt;span style="color:#719e07">-&lt;/span>f Service.yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd ..&lt;span style="color:#719e07">/&lt;/span>..&lt;span style="color:#719e07">/&lt;/span>..&lt;span style="color:#719e07">/&lt;/span>..&lt;span style="color:#719e07">/&lt;/span>..&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">/&lt;/span>src&lt;span style="color:#719e07">/&lt;/span>main&lt;span style="color:#719e07">/&lt;/span>resources&lt;span style="color:#719e07">/&lt;/span>k8s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">/&lt;/span>src&lt;span style="color:#719e07">/&lt;/span>main&lt;span style="color:#719e07">/&lt;/span>resources&lt;span style="color:#719e07">/&lt;/span>k8s&lt;span style="color:#719e07">/&lt;/span>Deployment.yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl apply &lt;span style="color:#719e07">-&lt;/span>f Deployment.yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd ..&lt;span style="color:#719e07">/&lt;/span>..&lt;span style="color:#719e07">/&lt;/span>..&lt;span style="color:#719e07">/&lt;/span>..&lt;span style="color:#719e07">/&lt;/span>..&lt;span style="color:#719e07">/&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>After successfully executing the above command, the docker desktop containers page looks like this, in which there are several containers in dubbo-samples, including consumer and provider:&lt;/p>
&lt;p>&lt;img src="https://dubbo.apache.org/imgs/user/docker-desktop.png" alt="docker-desktop.png">&lt;/p>
&lt;p>View the k8s_server_dubbo-samples-xds-provider-XXX log, the following log appears:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>Dec 28, 2022 8:42:48 AM org.apache.dubbo.config.deploy.DefaultApplicationDeployer info
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>INFO: &lt;span style="color:#719e07">[&lt;/span>DUBBO&lt;span style="color:#719e07">]&lt;/span> Dubbo Application&lt;span style="color:#719e07">[&lt;/span>1.1&lt;span style="color:#719e07">]&lt;/span>(dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider) is ready., dubbo version: 1.0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT, current host: 10.1.5.64
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Dec 28, 2022 8:42:49 AM org.apache.dubbo.registry.xds.util.protocol.AbstractProtocol info
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>INFO: &lt;span style="color:#719e07">[&lt;/span>DUBBO&lt;span style="color:#719e07">]&lt;/span> receive notification from xds server, type: type.googleapis.com&lt;span style="color:#719e07">/&lt;/span>envoy.config.listener.v3.Listener, dubbo version: 1.0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT, current host: 10.1.5.64
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Dec 28, 2022 8:42:53 AM org.apache.dubbo.registry.xds.util.protocol.AbstractProtocol info
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>INFO: &lt;span style="color:#719e07">[&lt;/span>DUBBO&lt;span style="color:#719e07">]&lt;/span> receive notification from xds server, type: type.googleapis.com&lt;span style="color:#719e07">/&lt;/span>envoy.config.listener.v3.Listener, dubbo version: 1.0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT, current host: 10.1.5.64
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo service started
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;img src="https://dubbo.apache.org/imgs/user/xds-provider-log.png" alt="xds-provider-log.png">&lt;/p>
&lt;p>Check the k8s_server_dubbo-samples-xds-consumer-XXX log and find that it is waiting for a debug connection:
&lt;img src="https://dubbo.apache.org/imgs/user/xds-consumer-listener.png" alt="xds-consumer-listener.png">
Open the command terminal and enter the command to view the pods that are available and in the Running state:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>kubectl get pods
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;img src="https://dubbo.apache.org/imgs/user/k8s-pods.png" alt="k8s-pods.png">&lt;/p>
&lt;p>Enter the following command to map the port of the pods to the local:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>kubectl port&lt;span style="color:#719e07">-&lt;/span>forward dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">-&lt;/span>64c6c6f444&lt;span style="color:#719e07">-&lt;/span>kk2vr 31000:31000
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;img src="https://dubbo.apache.org/imgs/user/port-forward.png" alt="port-forward.png">&lt;/p>
&lt;p>Switch to idea, edit configuration, select attach to remote JVM for debugger mode, select the port of the above docker file expose for port, select dubbo-samples-xds-consumer for module classpath, and click debug to connect successfully
&lt;img src="https://dubbo.apache.org/imgs/user/remote-debug.png" alt="remote-debug.png">&lt;/p>
&lt;p>You can see that the breakpoint has successfully entered:
&lt;img src="https://dubbo.apache.org/imgs/user/xds-debug-success.png" alt="xds-debug-success.png">
At this point, check the log of k8s_server_dubbo-samples-xds-consumer-XXX to see that it has been successfully running:
&lt;img src="https://dubbo.apache.org/imgs/user/xds-consumer-debug-success-log.png" alt="xds-consumer-debug-success-log.png">&lt;/p></description></item></channel></rss>