blob: babc4f35be44c2671e84d22193c150c8267d2bd6 [file] [log] [blame]
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – 4 - 协议层</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/</link><description>Recent content in 4 - 协议层 on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview: 4-1 - 不支持的协议</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/1/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>这种情况可能出现在自定义 Protocol 的场景下。Dubbo 的 SPI 机制找不到 URL 中所指定的 Protocol。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;ol>
&lt;li>确定 Consumer 中有服务端所用到的 Protocol 的依赖。&lt;/li>
&lt;li>确定 Protocol 的依赖包的 SPI 配置文件的名字没有写错。&lt;/li>
&lt;/ol>
&lt;blockquote>
&lt;p>另请参阅
&lt;a href="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/spi/overview/">Dubbo SPI 概述&lt;/a>&lt;br>
&lt;a href="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/protocol/">协议扩展说明&lt;/a>&lt;/p>
&lt;/blockquote></description></item><item><title>Overview: 4-2 - 序列化优化器初始发生错误</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/2/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>当前使用了 Kryo 和 FST 的序列化配置。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>&lt;a href="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/performance/serialization/">Kryo 和 FST 序列化&lt;/a>&lt;/p></description></item><item><title>Overview: 4-3 - 接口引用调用失败</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/3/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>根据指定的协议参数,未找到暴露的服务接口或方法。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>可根据接口 URL 及方法名称,确认服务端是否存在。&lt;/p></description></item><item><title>Overview: 4-4 - 非安全序列化方式</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/4/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/4/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>当前在使用非安全的序列化器, 并不推荐。具体配置为:&lt;code>serialization=&amp;quot;java&amp;quot;&lt;/code>&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>修改设置的参数值. 将 protocol 内的序列化参数值修改为其他。&lt;/p></description></item><item><title>Overview: 4-5 - 流关闭异常</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/5/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>提示信息,不影响程序的执行结果。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>可通过一些第三方的工具或者&lt;code>jstack [PID] &amp;gt; jstack.log&lt;/code> 分析堆栈信息,进行定位。&lt;/p></description></item><item><title>Overview: 4-6 - 反序列化失败</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/6/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>自定义 SPI &lt;code>org.apache.dubbo.common.serialize.Serialization&lt;/code> 序列化方法存在逻辑错误。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>可通过一些第三方的工具或者 &lt;code>jstack [PID] &amp;gt; jstack.log&lt;/code> 分析堆栈信息,进行定位。&lt;/p></description></item><item><title>Overview: 4-7 - 关闭客户端时发生错误</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/7/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/7/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>可通过一些第三方的工具或者 &lt;code>jstack [PID] &amp;gt; jstack.log&lt;/code> 分析堆栈信息,进行定位。&lt;/p></description></item><item><title>Overview: 4-8 - 关闭服务端时发生错误</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/8/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/8/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>可通过一些第三方的工具或者&lt;code>jstack [PID] &amp;gt; jstack.log&lt;/code> 分析堆栈信息,进行定位。&lt;/p></description></item><item><title>Overview: 4-9 - 解析失败</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/9/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/9/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>一般为参数值不符合规则,在强转时发生错误。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>根据堆栈信息提示的 key 名称进行配置修改即可。&lt;/p></description></item><item><title>Overview: 4-10 - Triple 序列化结果失败</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/10/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/10/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>一般为内部错误。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>可通过一些第三方的工具或者 &lt;code>jstack [PID] &amp;gt; jstack.log&lt;/code> 分析堆栈信息,进行定位。&lt;/p>
&lt;blockquote>
&lt;p>同时请在社区提交Issue&lt;/p>
&lt;/blockquote></description></item><item><title>Overview: 4-11 - 发起请求失败</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/11/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/11/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;ol>
&lt;li>服务方已关闭。&lt;/li>
&lt;li>调用方的 IP 不在服务方的白名单内。&lt;/li>
&lt;li>请求具体的地址服务不存在。&lt;/li>
&lt;/ol>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;ol>
&lt;li>检查服务方启动运行情况。&lt;/li>
&lt;li>检查或使用第三方工具,测试网络环境是否可正常连接。&lt;/li>
&lt;li>根据堆栈的 serviceName, 在管理平台里查看或模拟调用,看是否正常。&lt;/li>
&lt;/ol></description></item><item><title>Overview: 4-12 - 创建Triple流失败</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/12/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/12/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>一般为内部错误。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>可通过一些第三方的工具或者 &lt;code>jstack [PID] &amp;gt; jstack.log&lt;/code> 分析堆栈信息,进行定位。&lt;/p>
&lt;blockquote>
&lt;p>同时请在社区提交Issue。&lt;/p>
&lt;/blockquote></description></item><item><title>Overview: 4-13 - 服务端超时</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/13/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/13/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;ol>
&lt;li>服务端逻辑处理相对耗时。&lt;/li>
&lt;li>服务端负载请求过高,无法响应。&lt;/li>
&lt;li>当前的超时参数设置阈值与现实情况相差较大。&lt;/li>
&lt;/ol>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;ol>
&lt;li>根据接口名称查看是否存在耗时处理情况。&lt;/li>
&lt;li>可监控服务器状态,及服务端调用的服务调用情况。&lt;/li>
&lt;li>尝试将超时参数调大一些。&lt;/li>
&lt;/ol></description></item><item><title>Overview: 4-14 - 响应结果失败</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/14/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/14/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;ol>
&lt;li>服务端管道可能因网络原因暂时断开。&lt;/li>
&lt;li>当前使用版本较低或可检查当前的参数配置,是否启用 &lt;code>send.reconnect=true&lt;/code>, 高版本默认为 true。&lt;/li>
&lt;/ol>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;ol>
&lt;li>检查直连网络是否通畅,有无丢包现象。&lt;/li>
&lt;li>检查上述参数值,或尝试使用高版本。&lt;/li>
&lt;/ol></description></item><item><title>Overview: 4-15 - 客户端流监听器</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/15/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/15/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>当收到服务端的响应之后,客户端流监听器会输出此信息,用于提醒。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3></description></item><item><title>Overview: 4-16 - 服务已关闭</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/16/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/16/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>错误使用了内部 &lt;code>org.apache.dubbo.rpc.protocol.tri.service.TriHealthImpl#enterTerminalState&lt;/code>&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>多次调用上述方法会进行提醒。一般仅用于单元测试。&lt;/p></description></item><item><title>Overview: 4-17 - 关闭所有调用程序时发生错误</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/17/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/17/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>一般为内部错误。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>可通过一些第三方的工具或者 &lt;code>jstack [PID] &amp;gt; jstack.log&lt;/code> 分析堆栈信息,进行定位。&lt;/p>
&lt;blockquote>
&lt;p>同时请在社区提交issue.&lt;/p>
&lt;/blockquote></description></item><item><title>Overview: 4-18 - 无法从调用中获取服务模型</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/18/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/18/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>当前仅用于单元测试场景,服务模型默认会进行初始化。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3></description></item><item><title>Overview: 4-19 - 参数值有出错的可能</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/19/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/19/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>这个错误码提示参数值可能不再正确。&lt;/p>
&lt;p>目前出现在同一个协议同时监听多个端口下。由于设计限制,单个协议只能监听一个端口,否则端口配置会被覆盖掉。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>调整协议和端口的监听关系。&lt;/p>
&lt;blockquote>
&lt;p>该错误码的意义已经调整。对于 Dubbo 3.1.4、3.2.0-beta.3 及其之前的版本的该错误码的出错,请参考错误码 &lt;a href="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/0/2/">0-2&lt;/a>。&lt;/p>
&lt;/blockquote></description></item><item><title>Overview: 4-20 - 数据解码失败</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/20/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/20/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>服务方和调用方的版本不匹配。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;p>检查当前使用的 dubbo 版本,尽量保持一致或向下兼容的高版本。&lt;/p></description></item><item><title>Overview: 4-21 - 检测到不安全的序列化数据</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/21/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/21/</guid><description>
&lt;h3 id="可能的原因">可能的原因&lt;/h3>
&lt;p>当前服务端可能受到攻击或者是 Dubbo 内置的类检查逻辑没有扫描到您所定义的类。&lt;/p>
&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
&lt;ol>
&lt;li>如果请求源是攻击源,请及时进行安全加固。&lt;/li>
&lt;li>如果请求源是预期的,请在 &lt;code>security/serialize.allowlist&lt;/code> 资源文件中声明您所使用的类名,Dubbo 将自动将其加载到安全列表中。请参考 &lt;a href="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/security/class-check/">类检查机制&lt;/a> 一文。&lt;/li>
&lt;/ol>
&lt;blockquote>
&lt;p>当前 Dubbo 可以工作在监控模式和限制模式下。监控模式只打印日志,不进行拦截;限制模型将进行拦截。&lt;/p>
&lt;/blockquote></description></item></channel></rss>