rpc 服务器不可用rpc服务器不可用是什么意思?


Time:2023-05-29 11:58:18

关于rpc 服务器不可用的问题,我们总结了以下几点,给你解答:

rpc 服务器不可用


rpc 服务器不可用

子葵 阿里云云原生 2023-05-22 18:30 发表于浙江

背景

Cloud Native

Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,具有易用、超大规模微服务实践、云原生基础设施适配、安全性等特点。但是不正确的 Dubbo 使用姿势可能会导致 Dubbo 应用以及 ZooKeeper 注册中心出现稳定性问题。近期,一线上客户发布时,由于 Dubbo Reference 重复初始化,导致 ZooKeeper 出现不可用,服务注册订阅失败,造成业务大面积故障。

ZooKeeper 出现异常日志↓

并且 ZooKeeper 集群持续不可用,无法自愈。

原因分析

Cloud Native

Dubbo Reference 是 Dubbo 框架中服务提供者在调用者中的代理实现,在初始化 Dubbo Reference 的时候会将 consumer 本身注册在订阅的服务的 consumer 列表中,如果在一个应用中实例化了多个同一个接口的 Dubbo Reference,那么 ZooKeeper 中对应的被订阅的服务 consumer 列表中也会存在多个由于此应用订阅产生的 Znode 节点,这些 Znode 节点的 Path 除了 timestamp 字段都是一致的。

Dubbo 本身通过这种方式表示真实的订阅关系,但是在客户端不正确的使用的情况下,就可能导致 Dubbo 应用本身以及 ZooKeeper 的稳定性问题。

https://github.com/apache/dubbo/issues/4587

例如在 Dubbo 2.7.9 之前的版本中在应用中初始化多个相同接口的 Dubbo Reference, 可能会导致内存溢出的问题。

对于 ZooKeeper 集群,在之前 jute.maxbuffer 调优文章中分析过在 ZooKeeper Server 之间数据同步的时候会严格根据 jute.maxbuffer 的限制进行 Server 之间用于同步的数据包大小的校验,如果数据包超过限制会导致 Follower 和 Leader 之间断连。对于由于错误使用,应用不断初始化同一个接口的 Dubbo Reference,在应用崩溃之后,应用创建的大量的临时节点会导致 ZooKeeper 集群持续崩溃。

问题排查以及解决方案

Cloud Native

针对注册配置中心

如果使用的是 ZooKeeper 作为注册配置中心, 可以根据 jute.maxbuffer 一文中的建议,增加 jute.maxbuffer 参数的值,从而延缓问题,但是无法根本解决问题。MSE ZooKeeper 针对此类问题特别设计了限流机制,保证在客户端误用,或者非预期异常的情况下,限制客户端重复注册同一个 consumer,从而保证 ZooKeeper 集群的稳定,并且根据 MSE ZooKeeper 的观测系统可轻松排查具体的应用注册信息。

使用 MSE ZooKeeper 排查步骤:

例如,有一应用 test 由于初始化方式不合理,导致应用重复初始化对于接口 com.demo.provider 的 Dubbo Reference,在应用启动一段时间后,注册就会报错,此时 MSE ZooKeeper 已经限制了此客户端进行注册行为,从而保障 ZooKeeper Server 自身的稳定性,此时我们可以在 MSE 控制台中根据监控以及推送轨迹信息,排查问题应用。

首先进入 MSE 控制台对应的实例详情页,打开观测分析-> 监控中心 -> TopN 监控。

通过 TopN 监控中的客户端 TPS TopN 找到时间段内频繁写入的 SessionId,通过此 SessionId,在数据管理 -> 数据轨迹中查询对应 SessionId 的数据操作记录。

通过查询结果可以看出具体的某一个机器进行了多次 consumer 注册。

针对 Dubbo 应用本身

升级 Dubbo 版本到最新的稳定版本,同时在使用过程中需要注意 Dubbo Reference 的初始化方式,减少非必要的同一个接口的多个 Dubbo Reference,Dubbo Reference 本身比较重,多个 Dubbo Reference 本身会消耗机器资源。

总结

Cloud Native

在平时业务开发中,由于框架的误用或者 bug 导致的业务以及业务依赖的中间件的稳定性问题需要有快捷的手段进行排查,找到原因及时止血,MSE ZooKeeper 针对多种使用场景,提供多种数据统计聚合能力,帮助用户提高问题排查的效率,并且针对 ZooKeeper 多种使用场景,提供丰富的监控指标,基于 Dragonwell jdk 进行深度优化,具有多可用区容灾能力,免运维,高可用等能力,助力用户构建稳定高效的微服务应用。

rpc服务器不可用是什么意思?


rpc服务器不可用是什么意思?

一、解释:
RPC服务器不可用即远程过程调用协议不可用。RPC就是英文Remote Procedure Call Protocol的简写,RPC是一种通过网络从远程计算机程序上请求服务。
二、解决方法
1、首先,双击打开【我的电脑】,找到【管理】选项并双击。



2、此时,便会来到计算机管理界面,可以看到有三个大的选项,而今天需要进行设置的就是【服务和应用程序】



3、我们双击展开它,此时可以看到两个小的选项,我们双击【服务】选项即可。



4、然后,进入服务列表后,在服务列表中找到【Remote Procedure Call (RPC)】选项,如下图。一般出现RPC服务器不可用的原因就是这个服务没有启动所致,现在可以看看它是否处于禁用的状态,如果是,我们启用它。



5、RPC服务是经常使用的一个服务,如果每次用到都手动启动的话会比较麻烦,可以把它设置为自动,我们双击此服务,然后选择【自动】,点击【确定】即可。如下图:


有两种可能,一是(RPCremote
procedure
call
)服务没有启动
点击开始,设置,控制面板,管理工具,服务,找到"remote
procedure
call
(rpc)",双击打开,在"启动类型"里选择"自动"后,点击确定;最后重新启动电脑。
另外,在重新启动安装之前通过点击开始,运行,MSCONFIG,选择“正常启动”,则就会加载所有服务,包括rpc服务;选择是“有选择的启动”,您必须选中“加载系统服务”一项保证服务启动时加载。
当然还有可能引起rpc服务不可用的原因就是受到病毒的影响,比如冲击波病毒就是造成RPC服务不可用.所以要先杀毒.
第二种可能是DCOM没有配置SOCKTSRVR.EXE没有运行
另外,还可以先关闭防火墙试试
1.RPC服务没有启动
"开始"--〉"设置"--〉"控制面板"找到"管理工具"--〉"服务",找到"remote
procedure
call
(rpc)",双击打开,在"启动类型"里选择"自动"后,点击确定;最后重新启动电脑后,按照正确的方法再安装一遍软件即可解决问题。
另外,如果您的系统是xp,在重新启动安装之前,“开始”——》“运行”,运行msconfig,选择的是“正常启动”,则就会加载所有服务,包括rpc服务;选择是“有选择的启动”,您必须选中“加载系统服务”一项保证服务启动时加载。
当然还有可能引起rpc服务不可用的原因就是受到病毒的影响,最好再杀毒
2.DCOM没有配置
SOCKTSRVR.EXE没有运行
试了
没用~~`后来想了想,昨天关机的时候提示系统更新,WINDOWS自带的更新.难道是更新完后就这样了?更新完后系统关闭了某些服务吗?
如果大家更新后也出现了这样的问题,可以参照解决.我打开如下服务
remote
procedure
call
服务
如果域控制器存在问题,请与网络管理员联系以解决问题。如果仍然出现此问题,则继续执行下一步。
5.
使用
Windows
支持工具中包含的
Netdom
工具验证网络信任关系,然后重置或建立到服务器的连接。
DCOM服务
最后还要记得开启,DHCP
Client服务,网上都没人提到,难道这些服务都是已经开启了的吗?就OK了!
RPC服务器不可用即远程过程调用协议不可用。RPC就是英文Remote Procedure Call Protocol的简写,RPC是一种通过网络从远程计算机程序上请求服务。
出现RPC服务器不可用的原因为:
1.RPC服务器没有开启。

2.Virtual Disk服务故障。

RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。


参考资料
远程过程调用协议.百度百科[引用时间2018-5-3]
楼主应对情况做出更加具体的描述,以待更好地解决此问题,下面是一般情况下解决此类问题的方法,您可以尝试看能不能解决:

症状
在执行下列任一基于服务器的任务时,可能收到“RPC server is unavailable(RPC服务器不可用)”错误信息: • 复制
• Winlogon
• 启用受信任的关系
• 连接到域控制器
• 连接到受信任的域
• 用户身份验证
注意:在成员服务器上运行 Dcpromo 时也可能出现“RPC server is unavailable”错误。如果只有一台 DC,并且该 DC 的网卡上没有启用文件和打印机共享,则会发生此问题。
原因
下列任一原因均可导致发生此问题: • 可能未启动 RPC 服务。
• 无法解析 DNS 或 NetBIOS 名称。
• 无法建立 RPC 通道。

解决方案
要解决此问题,请按照下列步骤操作: 1. 单击开始,单击运行,在打开框中键入以下命令行,然后单击确定:
net start rpcss
进行测试,查看这是否解决了问题。如果仍然出现此问题,则继续执行下一步。
2. 单击开始,指向程序,指向附件,然后单击命令提示符。
3. 在命令提示符处,键入 ping servername,其中 servername 是要测试其连接的服务器、NetBIOS、DNS 或 GUID 名称。

如果其中的一台计算机存在连接问题,请与网络管理员联系以解决问题。如果仍然出现此问题,则继续执行下一步。
4. 使用 Microsoft Windows 支持工具(包含在 Windows CD-ROM 上)中包含的 Netdiag 工具确定域控制器是否正常工作。可以使用 MSRPC、DNS、NBT、LDAP 或 TCP 协议执行网络跟踪。

如果域控制器存在问题,请与网络管理员联系以解决问题。如果仍然出现此问题,则继续执行下一步。
5. 使用 Windows 支持工具中包含的 Netdom 工具验证网络信任关系,然后重置或建立到服务器的连接。

rpc服务器不可用是 怎么恢复


rpc服务器不可用是 怎么恢复

本文拓展问题:

rpc服务器不可用进不了桌面电脑开机rpc服务器不可用rpc 服务器不可用