• 关于

    异常处理程序故障原因

    的搜索结果

问题

“/”应用程序中的服务器错误。

jinyibz 2019-12-01 20:23:48 4815 浏览量 回答数 1

回答

错误代码651意思为您的调制解调器(或其它连接设备)报告了一个错误。既未找到指定的端口。解决办法:1、远程访问记事簿文件和当前的“网络和拨号连接”配置可能不一致如果更改了通讯设备(例如:串行口或调制解调器),请确保重新配置“网络和拨号连接”。如果错误仍然存在,请删除并重新创建“网络和拨号连接”。2、win7 错误代码651,路由能上,拨号上不了试一下:打开 windowssystem32logfileswmi,双击打开wmi再打开里面的RtBackup 会提示你需要管理员权限 继续 重启,即可修复。3、不行的话把wmi里的后缀为etl的文件删除包括RtBackup里的 重启4、如果上面的都不管用的话那尝试一下,禁用本地连接-关机-检查猫的所有插头拔下重插-拔下猫的电源插头-等待2分钟 之后插上插头-开机。5、最后一招先从别的能上网的系统的机子里复制下面这个文件 c:windowssystem32driversraspppoe.sys 来替换你电脑里的这个文件。宽带连接错误691(由于域上的用户名或密码无效而拒绝访问)/错误635(未知错误)的处理流程如下:(1)用户名密码填写错误(2)如果用户帐号密码填写无误,则进入下一步继续处理;建议重建拨号软件(如果不懂装拨号软件,可参考户重新):?如果重装拨号软件后正常,原因为“拨号软件丢失”;?如果重装拨号软件后故障依旧,请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误691错误691真正意义上来讲:1:域上名出现错误,(用户名或密码输入错误)。2:服务器无反映,(机房用户端口错误,或帐号未被激活)。3:电话或宽带到期欠费造成。出现错误691的原因1.电信限制了你帐户使用数目,比如你这个帐户可以4个人用,现在4个人在用,你拨号就是错误6912.你在用完后没断开,至少服务器那边还是没断开,以为你还在用,和上面情况类似,所以错误691建议:每次关机的时候在宽带连接上右键,点断开出现错误691后不要一直死缠烂打拨号,等待个几分钟再试试,如果一直出现这种情况,拨打客服电话10010联通(10000电信/10050铁通),告诉工作人员你的电脑错误691上不了,然后她问“请问你的宽带编号多少”,告诉她你帐户,然后她有时问你开户的是谁,回答开户的是谁,然后过个几分钟她就会找人帮你搞定宽带连接错误691的解决办法之一解决ADSL莫名其妙的错误691问题工厂的办公室里有无线路由器,而家里新装了宽带,还没有买路由器,所以只跟哥共用一个ADSL帐号上网,一根网线在两台手提之间插来拔去的。但是让人郁闷的是,插在哥的手提上,都能连接上网络,可是插到我这台手提上总是提示错误691:用户名/密码错误。但是可以确定的是,我绝对没有把用户名或者密码输错,让我在拔号器与机子设置了好久也不行!!!郁闷......打10010询问,电信小姐坚持是我输错了,不是他们的问题。后来上网搜了一些相关的文章终于把问题解决了——原来电信把我的ADSL帐号和哥哥的提提网卡绑定了。解决方法如下:1、在大哥的手提机上运行(在“运行”中输入“cmd”可以调出命令行)中输入ipconfig/all命令,查看网络配置信息,找出本地连接里面的PhysicalAddress,记录下来。2、再进入我的本本中,进入设备管理器,在网络适配器里找到网卡,在网卡名称上用右键选择属性,进入“高级”选项卡,在左面的框中选中看到NetwotkAddress一项,选中右边的“值“,填入刚刚记录下来的MAC地址(不区分大小写,不要加“-”符号)即可。也许以后大家也会碰到,谨当学习!!!宽带连接错误623(找不到电话薄项目)步骤一:是否有防火墙或3721上网助手等软件,如有则建议退出(1)防火墙及3721上网助手后测试:如果故障解决,“用户软件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤二:指导用户检查网卡状态并拔插网线:(1)如果故障解决,故障原因为“pc硬件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤三:在条件具备情况下(有拨号软件、安装光盘(Win98要备有网卡驱动盘)建议删除及,再重新后:(1)如果故障解决,为“pc硬件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤四:以上处理均无效或无法做简单的配合操作时,请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告宽带连接错误678(远程计算机没响应):步骤一:检查MODEM信号灯是否正常,不正常重新启动modem。如果正常见步骤二。步骤二:询问用户是否有防火墙或3721上网助手等软件,如有则建议用户退出(1)防火墙及3721上网助手后测试:如果故障解决,故障原因为“用户软件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤三:指导用户检查网卡状态并拔插网线:(1)如果故障解决,则填写:故障原因为“pc硬件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤四:在条件具备情况下(用户有拨号软件、安装光盘(Win98要备有网卡驱动盘)建议用户删除拨号软件及,再重新安装网卡驱动后安装拨号软件:(1)如果故障解决,则填写:故障现象为“拨号连接超时”,故障原因为“PC硬件问题”;(2)如果故障依旧存在,则进入步骤七继续处理;步骤五:判断MODEM后面电话线是否可用,分离器连接是否正确:(1)MODEM后连电话不能使用,而计费号的其他电话可以使用的,建议更换电话线,故障原因为“用户室内线故障”;(2)如果用户家计费号的所有电话都不可以使用的,则请拨打客服电话10010联通(10000电信/1005铁通)进行障碍申告。步骤六:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误645产生原因为拨号软件文件受损造成(常见于XP系统),处理流程如下:步骤一:在条件具备情况下(用户有拨号软件),建议重新装拨号软件:如果故障解决,故障原因为“用户软件问题”;如果故障依旧,则建议用户找电脑公司维修电脑系统,故障原因为“用户软件问题”;。步骤二:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误720现象常见于XP系统,一般将系统重新启动,可拨多次,百分之九十都可以解决,处理流程如下:步骤一:建议将系统重新启动后再重新拨号上网:(1)如果故障解决,故障原因无(2)如果故障依旧,则建议用户还原系统或找电脑公司将系统格式化重装,重装后及时关闭系统自己更新功能。步骤二:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误721(远程计算机没有响应)此现象多为USB接口Modem故障代码,可依据以下步骤进行处理:步骤一:判断MODEM信号灯是否同步,信号灯同步参照步骤二,信号灯不同步参照步骤三、四、五。步骤二:信号灯同步,则为用户协议选错(OA或OE),如若不行可电话10010联通(10000电信/10050铁通)进行申告步骤三:信号灯不同步,判断MODEM后面电话线是否可用,如果不能使用,而计费号的其他电话可以使用的,可建议用户自已换电话线,如果用户家计费号的所有电话都不可以使用的,如若不行可电话向客服电话10010联通(10000电信/10050铁通)进行申告。步骤四:检查分离器是否接反。宽带连接错误718现象,极少数为用户端问题:步骤一:建议首先重启计算机后拨号测试:(1)如果故障解决,故障原因无。(2)如果故障依旧或没法进行简单配合,可电话向客服电话10010联通(10000电信/10050铁通)进行障碍申告。字串5宽带连接错误734(PPP链接控制协议被终止)/错误735(请求的地址被服务器拒绝步骤一:建议重新启动电脑。步骤二:拨号软件出错,建议重装拨号软件,常见于XP系统的自带拨号。步骤三:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误769错误769:无法连接到指定目标。问题:这是指你电脑的网络设备有问题解决方法:打开“我的电脑”→“控制面版”→“网络连接”,查看本地连接的是否处在“禁用”状态,是的话只需双击本地连接,看到状态变为“已启用”即可。若是连本地连接都没有的话,那你的网卡100%有问题了——不是没装好就是坏了。请您联系您的电脑供应商,或者自己解决。也想每天收到这样的文章,免费关注微信号:FBI机密档案FBIsecrets长按英文复制。出现错误769的错误,大多数是网卡被禁用,启用即可!造成的原因一般为:用户的误操作或一些防火墙软件、计算机病毒引起的,很普遍。如果没有找到本地连接,一般是网卡的驱动程序丢了或计算机没有检测到网卡,可以重新安装即可错误原因:网卡被禁用解决方法:请您点击电脑右键,选择属性,再选择设备管理,再看网卡驱动程序情况,如果是个“x”说明网卡被禁用,点击右键激活网卡就可以解决。宽带连接错误769产生原因及解决方案宽带连接错误769产生原因通常,如果存在下列情况之一,您将收到错误769的信息:1.网络电缆已断开。2.调制解调器已禁用。3.调制解调器驱动程序已损坏。4.计算机上正在运行间谍软件,它妨碍了连接。5.Winsock需要得到修复。6.第三方防火墙软件阻止了连接。解决方案:要查找问题的原因,请按照下列步骤操作。步骤1:确保网络电缆已连接确保网络电缆分别连接到计算机和调制解调器。如果您的计算机连接到集线器或路由器,请确保将集线器或路由器连接到调制解调器的电缆已连接。步骤2:确保网络适配器已启用1.单击“开始”,单击“运行”,键入ncpa.cpl,然后单击“确定”。2.右键单击“本地连接”图标。单击“启用”(如果该选项可用)。步骤3:重置调制解调器1.将从计算机到调制解调器的电缆断开连接。2.关闭调制解调器。如果调制解调器没有电源开关,请切断调制解调器的电源。3.等待两分钟。4.打开调制解调器,然后连接从计算机到调制解调器的电缆。步骤4:使用设备管理器,先卸载、然后重新安装调制解调器和驱动程序在按照这些步骤操作之前,您可能必须从硬件制造商那里下载网络适配器的最新驱动程序。1.单击“开始”,单击“运行”,键入sysdm.cpl,然后单击“确定”。2.单击“硬件”选项卡,单击“设备管理器”,然后找到“网络适配器”。3.展开“网络适配器”,然后右键单击网络适配器的图标。4.单击“卸载”,然后单击“确定”。在提示您删除与此设备相关联的文件的对话框中,单击“是”。5.重新启动计算机。或者,单击“操作”,然后单击“扫描检测硬件改动”。6.如果Windows找到设备但是没有识别它,您必须为网络适配器安装最新的驱动程序。步骤5:创建新的DSL或电缆连接1.单击“开始”,单击“运行”,键入ncpa.cpl,然后单击“确定”。2.单击“网络任务”下的“创建一个新的连接”。当向导启动后,单击“下一步”。3.单击“连接到Internet”,然后单击“下一步”。4.单击“手动设置我的连接”,然后单击“下一步”。5.选择“用要求用户名和密码的宽带连接来连接”,然后单击“下一步”。6.执行其余的步骤。使用Internet服务提供商(ISP)提供的连接信息完成该向导。注意:您可能必须使用您的ISP提供的软件才能创建新的连接。步骤6:修复Winsock和TCP/IP1.单击“开始”,单击“运行”,键入netshwinsockreset,然后按Enter键。2.当命令提示符窗口闪烁时,请重新启动计算机。步骤7:临时卸载第三方防火墙某些第三方防火墙软件(如ZoneAlarm和NortonPersonal防火墙)在运行WindowsXPSP2的计算机上可能导致Internet连接问题。您可能必须临时卸载这些程序以测试计算机。要进行测试,仅禁用这些程序是不够的。请确保您有CD或安装文件以便可以稍后重新安装这些程序。如果问题是由这些程序导致的,则您可能必须与该程序的供应商联系,以获得关于设置该程序的帮助。注意:在删除第三方防火墙程序之前,您可能要验证启用了WindowsXP防火墙。百度百科上的一些:1、 错误代码718、619、691:属于帐号密码问题。A、用户输入帐号、密码时输错,让用户重新输入。B、 帐号到期,可去“IP综合系统”中查询帐号是否到期。C、帐号卡在网上:一般是用户下网时不断开网络连接或异常吊线所导致,可以让用户将猫和电脑的电源关闭10分钟以上再进行连接,一般可以解决。D、帐号被偷:与互联网项目部进行联系解决。2、 错误代码676:属于机房设备问题,可让用户连续多拨几次即可登陆。3、错误代码720:属于modem驱动设置不正确,主要为vpi、vci参数值设置不正确或者需要重新启动电脑。4、错误769: 此类错误原因是本地连接被用户禁用或者停用,主要出现在以太网猫的用户中,属于用户下网时错误断开网卡连接,造成网卡禁用,在“本地连接”中网卡启用即可。5、错误678:一般MODEM指示灯不正常,猫上的link灯闪烁(少数猫的link灯的英文标识为showtime),参照link不上的故障处理或让用户检查自身防火墙。如果MODEM指示灯正常,那故障的原因是电脑不能与MODEM建立连接,解决方法是将MODEM重启,如果还不行,最好重装系统,这种问题一般会长期出现。6、在Windows Vista Home Basic下经常会出现错误815.是网络端口问题.是由于网络供应商的网络断口连接性能.以及连接字段值不正确引起的.和系统一般无关再补个678:错误678,是宽带adsl拨号上网用户常常遇到的故障提示,简单地说就是网络不通了。宽带adsl拨号上网使用pppoe协议连接,通过电话线传输数据,使用adsl专用modem实现数据的调制解调,错误提示678的含义是,远程计算机无响应,意思是从计算机发出指令到网卡向外发送数据,包括电话线的传输,局端(电信局机房端)端子板的端口处理到返回数据到计算机的过程中数据传输出问题都会提示。解决方法1、首先确认adsl modem拨号正常,因为网卡自动获取的IP没有清除,所以再次拨号的时候网卡无法获取新的IP地址会提示678,操作方法是:关闭adsl modem,进入控制面板的网络连接右击本地连接选择禁用,5秒钟后右击本地连接选择启用,然后打开adsl modem拨号即可;2、如果第一步无效,则在关闭adsl modem的情况下,仍然禁用本地连接(网卡),重启计算机,然后启用本地连接(网卡),再打开adsl modem即可解决;3、如果上述步骤都无法解决,查看网卡灯是否亮,如果网卡灯不亮,参看派单知识库:“网卡灯不亮或经常不亮”的解决方案4、如果网卡灯正常1,2步无法解决则带领用户卸载网卡驱动,重装网卡驱动,如果用户xp系统按照:知识编号:9973,如何在WINXP下设置ADSL拨号连接 方法带领用户创建拨号连接,如果98系统建议用户安装Raspppoe软件或者EHERNET300软件连接即可。5、如果上述操作无效联系电信部门确认端口。6.adsl modem故障是主要原因。7.如果多台电脑使用路由器上网,可尝试将路由器拆除后连接Internt。若能顺利上网,则说明路由器故障,应排除路由器故障或更换新的路由器。8.如果是ADSL包年用户,在使用过程中如果出现这种情况,有可能是电话欠费,请咨询客户服务中心。有部分地区中国电信或中国联通用户,在电话欠费的情况下,电话可以打通,但是却无法上网,这时也有可能是电话欠费,因为现在部分地区的电信部门在用户电话欠费情况下,不是停止电话的使用,而是停止网络的使用。9.部分品牌Modem供电不足也容易造成错误67810.如果以上方法都不能解决您的问题,可以尝试一下adsl modem的reset按两三下再上试试。11.adsl modem设备损坏也会造成错误678,虽然从表面上看起来adsl modem运转正常,但是就是连接失败,笔者就曾遇到此类问题,最终换了一个新的adsl modem

独步清客 2019-12-02 00:44:12 0 浏览量 回答数 0

回答

错误代码651意思为您的调制解调器(或其它连接设备)报告了一个错误。既未找到指定的端口。解决办法:1、远程访问记事簿文件和当前的“网络和拨号连接”配置可能不一致如果更改了通讯设备(例如:串行口或调制解调器),请确保重新配置“网络和拨号连接”。如果错误仍然存在,请删除并重新创建“网络和拨号连接”。2、win7 错误代码651,路由能上,拨号上不了试一下:打开 windowssystem32logfileswmi,双击打开wmi再打开里面的RtBackup 会提示你需要管理员权限 继续 重启,即可修复。3、不行的话把wmi里的后缀为etl的文件删除包括RtBackup里的 重启4、如果上面的都不管用的话那尝试一下,禁用本地连接-关机-检查猫的所有插头拔下重插-拔下猫的电源插头-等待2分钟 之后插上插头-开机。5、最后一招先从别的能上网的系统的机子里复制下面这个文件 c:windowssystem32driversraspppoe.sys 来替换你电脑里的这个文件。宽带连接错误691(由于域上的用户名或密码无效而拒绝访问)/错误635(未知错误)的处理流程如下:(1)用户名密码填写错误(2)如果用户帐号密码填写无误,则进入下一步继续处理;建议重建拨号软件(如果不懂装拨号软件,可参考户重新):?如果重装拨号软件后正常,原因为“拨号软件丢失”;?如果重装拨号软件后故障依旧,请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误691错误691真正意义上来讲:1:域上名出现错误,(用户名或密码输入错误)。2:服务器无反映,(机房用户端口错误,或帐号未被激活)。3:电话或宽带到期欠费造成。出现错误691的原因1.电信限制了你帐户使用数目,比如你这个帐户可以4个人用,现在4个人在用,你拨号就是错误6912.你在用完后没断开,至少服务器那边还是没断开,以为你还在用,和上面情况类似,所以错误691建议:每次关机的时候在宽带连接上右键,点断开出现错误691后不要一直死缠烂打拨号,等待个几分钟再试试,如果一直出现这种情况,拨打客服电话10010联通(10000电信/10050铁通),告诉工作人员你的电脑错误691上不了,然后她问“请问你的宽带编号多少”,告诉她你帐户,然后她有时问你开户的是谁,回答开户的是谁,然后过个几分钟她就会找人帮你搞定宽带连接错误691的解决办法之一解决ADSL莫名其妙的错误691问题工厂的办公室里有无线路由器,而家里新装了宽带,还没有买路由器,所以只跟哥共用一个ADSL帐号上网,一根网线在两台手提之间插来拔去的。但是让人郁闷的是,插在哥的手提上,都能连接上网络,可是插到我这台手提上总是提示错误691:用户名/密码错误。但是可以确定的是,我绝对没有把用户名或者密码输错,让我在拔号器与机子设置了好久也不行!!!郁闷......打10010询问,电信小姐坚持是我输错了,不是他们的问题。后来上网搜了一些相关的文章终于把问题解决了——原来电信把我的ADSL帐号和哥哥的提提网卡绑定了。解决方法如下:1、在大哥的手提机上运行(在“运行”中输入“cmd”可以调出命令行)中输入ipconfig/all命令,查看网络配置信息,找出本地连接里面的PhysicalAddress,记录下来。2、再进入我的本本中,进入设备管理器,在网络适配器里找到网卡,在网卡名称上用右键选择属性,进入“高级”选项卡,在左面的框中选中看到NetwotkAddress一项,选中右边的“值“,填入刚刚记录下来的MAC地址(不区分大小写,不要加“-”符号)即可。也许以后大家也会碰到,谨当学习!!!宽带连接错误623(找不到电话薄项目)步骤一:是否有防火墙或3721上网助手等软件,如有则建议退出(1)防火墙及3721上网助手后测试:如果故障解决,“用户软件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤二:指导用户检查网卡状态并拔插网线:(1)如果故障解决,故障原因为“pc硬件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤三:在条件具备情况下(有拨号软件、安装光盘(Win98要备有网卡驱动盘)建议删除及,再重新后:(1)如果故障解决,为“pc硬件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤四:以上处理均无效或无法做简单的配合操作时,请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告宽带连接错误678(远程计算机没响应):步骤一:检查MODEM信号灯是否正常,不正常重新启动modem。如果正常见步骤二。步骤二:询问用户是否有防火墙或3721上网助手等软件,如有则建议用户退出(1)防火墙及3721上网助手后测试:如果故障解决,故障原因为“用户软件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤三:指导用户检查网卡状态并拔插网线:(1)如果故障解决,则填写:故障原因为“pc硬件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤四:在条件具备情况下(用户有拨号软件、安装光盘(Win98要备有网卡驱动盘)建议用户删除拨号软件及,再重新安装网卡驱动后安装拨号软件:(1)如果故障解决,则填写:故障现象为“拨号连接超时”,故障原因为“PC硬件问题”;(2)如果故障依旧存在,则进入步骤七继续处理;步骤五:判断MODEM后面电话线是否可用,分离器连接是否正确:(1)MODEM后连电话不能使用,而计费号的其他电话可以使用的,建议更换电话线,故障原因为“用户室内线故障”;(2)如果用户家计费号的所有电话都不可以使用的,则请拨打客服电话10010联通(10000电信/1005铁通)进行障碍申告。步骤六:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误645产生原因为拨号软件文件受损造成(常见于XP系统),处理流程如下:步骤一:在条件具备情况下(用户有拨号软件),建议重新装拨号软件:如果故障解决,故障原因为“用户软件问题”;如果故障依旧,则建议用户找电脑公司维修电脑系统,故障原因为“用户软件问题”;。步骤二:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误720现象常见于XP系统,一般将系统重新启动,可拨多次,百分之九十都可以解决,处理流程如下:步骤一:建议将系统重新启动后再重新拨号上网:(1)如果故障解决,故障原因无(2)如果故障依旧,则建议用户还原系统或找电脑公司将系统格式化重装,重装后及时关闭系统自己更新功能。步骤二:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误721(远程计算机没有响应)此现象多为USB接口Modem故障代码,可依据以下步骤进行处理:步骤一:判断MODEM信号灯是否同步,信号灯同步参照步骤二,信号灯不同步参照步骤三、四、五。步骤二:信号灯同步,则为用户协议选错(OA或OE),如若不行可电话10010联通(10000电信/10050铁通)进行申告步骤三:信号灯不同步,判断MODEM后面电话线是否可用,如果不能使用,而计费号的其他电话可以使用的,可建议用户自已换电话线,如果用户家计费号的所有电话都不可以使用的,如若不行可电话向客服电话10010联通(10000电信/10050铁通)进行申告。步骤四:检查分离器是否接反。宽带连接错误718现象,极少数为用户端问题:步骤一:建议首先重启计算机后拨号测试:(1)如果故障解决,故障原因无。(2)如果故障依旧或没法进行简单配合,可电话向客服电话10010联通(10000电信/10050铁通)进行障碍申告。字串5宽带连接错误734(PPP链接控制协议被终止)/错误735(请求的地址被服务器拒绝步骤一:建议重新启动电脑。步骤二:拨号软件出错,建议重装拨号软件,常见于XP系统的自带拨号。步骤三:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误769错误769:无法连接到指定目标。问题:这是指你电脑的网络设备有问题解决方法:打开“我的电脑”→“控制面版”→“网络连接”,查看本地连接的是否处在“禁用”状态,是的话只需双击本地连接,看到状态变为“已启用”即可。若是连本地连接都没有的话,那你的网卡100%有问题了——不是没装好就是坏了。请您联系您的电脑供应商,或者自己解决。也想每天收到这样的文章,免费关注微信号:FBI机密档案FBIsecrets长按英文复制。出现错误769的错误,大多数是网卡被禁用,启用即可!造成的原因一般为:用户的误操作或一些防火墙软件、计算机病毒引起的,很普遍。如果没有找到本地连接,一般是网卡的驱动程序丢了或计算机没有检测到网卡,可以重新安装即可错误原因:网卡被禁用解决方法:请您点击电脑右键,选择属性,再选择设备管理,再看网卡驱动程序情况,如果是个“x”说明网卡被禁用,点击右键激活网卡就可以解决。宽带连接错误769产生原因及解决方案宽带连接错误769产生原因通常,如果存在下列情况之一,您将收到错误769的信息:1.网络电缆已断开。2.调制解调器已禁用。3.调制解调器驱动程序已损坏。4.计算机上正在运行间谍软件,它妨碍了连接。5.Winsock需要得到修复。6.第三方防火墙软件阻止了连接。解决方案:要查找问题的原因,请按照下列步骤操作。步骤1:确保网络电缆已连接确保网络电缆分别连接到计算机和调制解调器。如果您的计算机连接到集线器或路由器,请确保将集线器或路由器连接到调制解调器的电缆已连接。步骤2:确保网络适配器已启用1.单击“开始”,单击“运行”,键入ncpa.cpl,然后单击“确定”。2.右键单击“本地连接”图标。单击“启用”(如果该选项可用)。步骤3:重置调制解调器1.将从计算机到调制解调器的电缆断开连接。2.关闭调制解调器。如果调制解调器没有电源开关,请切断调制解调器的电源。3.等待两分钟。4.打开调制解调器,然后连接从计算机到调制解调器的电缆。步骤4:使用设备管理器,先卸载、然后重新安装调制解调器和驱动程序在按照这些步骤操作之前,您可能必须从硬件制造商那里下载网络适配器的最新驱动程序。1.单击“开始”,单击“运行”,键入sysdm.cpl,然后单击“确定”。2.单击“硬件”选项卡,单击“设备管理器”,然后找到“网络适配器”。3.展开“网络适配器”,然后右键单击网络适配器的图标。4.单击“卸载”,然后单击“确定”。在提示您删除与此设备相关联的文件的对话框中,单击“是”。5.重新启动计算机。或者,单击“操作”,然后单击“扫描检测硬件改动”。6.如果Windows找到设备但是没有识别它,您必须为网络适配器安装最新的驱动程序。步骤5:创建新的DSL或电缆连接1.单击“开始”,单击“运行”,键入ncpa.cpl,然后单击“确定”。2.单击“网络任务”下的“创建一个新的连接”。当向导启动后,单击“下一步”。3.单击“连接到Internet”,然后单击“下一步”。4.单击“手动设置我的连接”,然后单击“下一步”。5.选择“用要求用户名和密码的宽带连接来连接”,然后单击“下一步”。6.执行其余的步骤。使用Internet服务提供商(ISP)提供的连接信息完成该向导。注意:您可能必须使用您的ISP提供的软件才能创建新的连接。步骤6:修复Winsock和TCP/IP1.单击“开始”,单击“运行”,键入netshwinsockreset,然后按Enter键。2.当命令提示符窗口闪烁时,请重新启动计算机。步骤7:临时卸载第三方防火墙某些第三方防火墙软件(如ZoneAlarm和NortonPersonal防火墙)在运行WindowsXPSP2的计算机上可能导致Internet连接问题。您可能必须临时卸载这些程序以测试计算机。要进行测试,仅禁用这些程序是不够的。请确保您有CD或安装文件以便可以稍后重新安装这些程序。如果问题是由这些程序导致的,则您可能必须与该程序的供应商联系,以获得关于设置该程序的帮助。注意:在删除第三方防火墙程序之前,您可能要验证启用了WindowsXP防火墙。百度百科上的一些:1、 错误代码718、619、691:属于帐号密码问题。A、用户输入帐号、密码时输错,让用户重新输入。B、 帐号到期,可去“IP综合系统”中查询帐号是否到期。C、帐号卡在网上:一般是用户下网时不断开网络连接或异常吊线所导致,可以让用户将猫和电脑的电源关闭10分钟以上再进行连接,一般可以解决。D、帐号被偷:与互联网项目部进行联系解决。2、 错误代码676:属于机房设备问题,可让用户连续多拨几次即可登陆。3、错误代码720:属于modem驱动设置不正确,主要为vpi、vci参数值设置不正确或者需要重新启动电脑。4、错误769: 此类错误原因是本地连接被用户禁用或者停用,主要出现在以太网猫的用户中,属于用户下网时错误断开网卡连接,造成网卡禁用,在“本地连接”中网卡启用即可。5、错误678:一般MODEM指示灯不正常,猫上的link灯闪烁(少数猫的link灯的英文标识为showtime),参照link不上的故障处理或让用户检查自身防火墙。如果MODEM指示灯正常,那故障的原因是电脑不能与MODEM建立连接,解决方法是将MODEM重启,如果还不行,最好重装系统,这种问题一般会长期出现。6、在Windows Vista Home Basic下经常会出现错误815.是网络端口问题.是由于网络供应商的网络断口连接性能.以及连接字段值不正确引起的.和系统一般无关再补个678:错误678,是宽带adsl拨号上网用户常常遇到的故障提示,简单地说就是网络不通了。宽带adsl拨号上网使用pppoe协议连接,通过电话线传输数据,使用adsl专用modem实现数据的调制解调,错误提示678的含义是,远程计算机无响应,意思是从计算机发出指令到网卡向外发送数据,包括电话线的传输,局端(电信局机房端)端子板的端口处理到返回数据到计算机的过程中数据传输出问题都会提示。解决方法1、首先确认adsl modem拨号正常,因为网卡自动获取的IP没有清除,所以再次拨号的时候网卡无法获取新的IP地址会提示678,操作方法是:关闭adsl modem,进入控制面板的网络连接右击本地连接选择禁用,5秒钟后右击本地连接选择启用,然后打开adsl modem拨号即可;2、如果第一步无效,则在关闭adsl modem的情况下,仍然禁用本地连接(网卡),重启计算机,然后启用本地连接(网卡),再打开adsl modem即可解决;3、如果上述步骤都无法解决,查看网卡灯是否亮,如果网卡灯不亮,参看派单知识库:“网卡灯不亮或经常不亮”的解决方案4、如果网卡灯正常1,2步无法解决则带领用户卸载网卡驱动,重装网卡驱动,如果用户xp系统按照:知识编号:9973,如何在WINXP下设置ADSL拨号连接 方法带领用户创建拨号连接,如果98系统建议用户安装Raspppoe软件或者EHERNET300软件连接即可。5、如果上述操作无效联系电信部门确认端口。6.adsl modem故障是主要原因。7.如果多台电脑使用路由器上网,可尝试将路由器拆除后连接Internt。若能顺利上网,则说明路由器故障,应排除路由器故障或更换新的路由器。8.如果是ADSL包年用户,在使用过程中如果出现这种情况,有可能是电话欠费,请咨询客户服务中心。有部分地区中国电信或中国联通用户,在电话欠费的情况下,电话可以打通,但是却无法上网,这时也有可能是电话欠费,因为现在部分地区的电信部门在用户电话欠费情况下,不是停止电话的使用,而是停止网络的使用。9.部分品牌Modem供电不足也容易造成错误67810.如果以上方法都不能解决您的问题,可以尝试一下adsl modem的reset按两三下再上试试。11.adsl modem设备损坏也会造成错误678,虽然从表面上看起来adsl modem运转正常,但是就是连接失败,笔者就曾遇到此类问题,最终换了一个新的adsl modem

独步清客 2019-12-02 00:44:12 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

错误代码651意思为您的调制解调器(或其它连接设备)报告了一个错误。既未找到指定的端口。解决办法:1、远程访问记事簿文件和当前的“网络和拨号连接”配置可能不一致如果更改了通讯设备(例如:串行口或调制解调器),请确保重新配置“网络和拨号连接”。如果错误仍然存在,请删除并重新创建“网络和拨号连接”。2、win7 错误代码651,路由能上,拨号上不了试一下:打开 windowssystem32logfileswmi,双击打开wmi再打开里面的RtBackup 会提示你需要管理员权限 继续 重启,即可修复。3、不行的话把wmi里的后缀为etl的文件删除包括RtBackup里的 重启4、如果上面的都不管用的话那尝试一下,禁用本地连接-关机-检查猫的所有插头拔下重插-拔下猫的电源插头-等待2分钟 之后插上插头-开机。5、最后一招先从别的能上网的系统的机子里复制下面这个文件 c:windowssystem32driversraspppoe.sys 来替换你电脑里的这个文件。宽带连接错误691(由于域上的用户名或密码无效而拒绝访问)/错误635(未知错误)的处理流程如下:(1)用户名密码填写错误(2)如果用户帐号密码填写无误,则进入下一步继续处理;建议重建拨号软件(如果不懂装拨号软件,可参考户重新):?如果重装拨号软件后正常,原因为“拨号软件丢失”;?如果重装拨号软件后故障依旧,请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误691错误691真正意义上来讲:1:域上名出现错误,(用户名或密码输入错误)。2:服务器无反映,(机房用户端口错误,或帐号未被激活)。3:电话或宽带到期欠费造成。出现错误691的原因1.电信限制了你帐户使用数目,比如你这个帐户可以4个人用,现在4个人在用,你拨号就是错误6912.你在用完后没断开,至少服务器那边还是没断开,以为你还在用,和上面情况类似,所以错误691建议:每次关机的时候在宽带连接上右键,点断开出现错误691后不要一直死缠烂打拨号,等待个几分钟再试试,如果一直出现这种情况,拨打客服电话10010联通(10000电信/10050铁通),告诉工作人员你的电脑错误691上不了,然后她问“请问你的宽带编号多少”,告诉她你帐户,然后她有时问你开户的是谁,回答开户的是谁,然后过个几分钟她就会找人帮你搞定宽带连接错误691的解决办法之一解决ADSL莫名其妙的错误691问题工厂的办公室里有无线路由器,而家里新装了宽带,还没有买路由器,所以只跟哥共用一个ADSL帐号上网,一根网线在两台手提之间插来拔去的。但是让人郁闷的是,插在哥的手提上,都能连接上网络,可是插到我这台手提上总是提示错误691:用户名/密码错误。但是可以确定的是,我绝对没有把用户名或者密码输错,让我在拔号器与机子设置了好久也不行!!!郁闷......打10010询问,电信小姐坚持是我输错了,不是他们的问题。后来上网搜了一些相关的文章终于把问题解决了——原来电信把我的ADSL帐号和哥哥的提提网卡绑定了。解决方法如下:1、在大哥的手提机上运行(在“运行”中输入“cmd”可以调出命令行)中输入ipconfig/all命令,查看网络配置信息,找出本地连接里面的PhysicalAddress,记录下来。2、再进入我的本本中,进入设备管理器,在网络适配器里找到网卡,在网卡名称上用右键选择属性,进入“高级”选项卡,在左面的框中选中看到NetwotkAddress一项,选中右边的“值“,填入刚刚记录下来的MAC地址(不区分大小写,不要加“-”符号)即可。也许以后大家也会碰到,谨当学习!!!宽带连接错误623(找不到电话薄项目)步骤一:是否有防火墙或3721上网助手等软件,如有则建议退出(1)防火墙及3721上网助手后测试:如果故障解决,“用户软件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤二:指导用户检查网卡状态并拔插网线:(1)如果故障解决,故障原因为“pc硬件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤三:在条件具备情况下(有拨号软件、安装光盘(Win98要备有网卡驱动盘)建议删除及,再重新后:(1)如果故障解决,为“pc硬件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤四:以上处理均无效或无法做简单的配合操作时,请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告宽带连接错误678(远程计算机没响应):步骤一:检查MODEM信号灯是否正常,不正常重新启动modem。如果正常见步骤二。步骤二:询问用户是否有防火墙或3721上网助手等软件,如有则建议用户退出(1)防火墙及3721上网助手后测试:如果故障解决,故障原因为“用户软件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤三:指导用户检查网卡状态并拔插网线:(1)如果故障解决,则填写:故障原因为“pc硬件问题”;(2)如果故障依旧存在,则进入下一步继续处理;步骤四:在条件具备情况下(用户有拨号软件、安装光盘(Win98要备有网卡驱动盘)建议用户删除拨号软件及,再重新安装网卡驱动后安装拨号软件:(1)如果故障解决,则填写:故障现象为“拨号连接超时”,故障原因为“PC硬件问题”;(2)如果故障依旧存在,则进入步骤七继续处理;步骤五:判断MODEM后面电话线是否可用,分离器连接是否正确:(1)MODEM后连电话不能使用,而计费号的其他电话可以使用的,建议更换电话线,故障原因为“用户室内线故障”;(2)如果用户家计费号的所有电话都不可以使用的,则请拨打客服电话10010联通(10000电信/1005铁通)进行障碍申告。步骤六:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误645产生原因为拨号软件文件受损造成(常见于XP系统),处理流程如下:步骤一:在条件具备情况下(用户有拨号软件),建议重新装拨号软件:如果故障解决,故障原因为“用户软件问题”;如果故障依旧,则建议用户找电脑公司维修电脑系统,故障原因为“用户软件问题”;。步骤二:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误720现象常见于XP系统,一般将系统重新启动,可拨多次,百分之九十都可以解决,处理流程如下:步骤一:建议将系统重新启动后再重新拨号上网:(1)如果故障解决,故障原因无(2)如果故障依旧,则建议用户还原系统或找电脑公司将系统格式化重装,重装后及时关闭系统自己更新功能。步骤二:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误721(远程计算机没有响应)此现象多为USB接口Modem故障代码,可依据以下步骤进行处理:步骤一:判断MODEM信号灯是否同步,信号灯同步参照步骤二,信号灯不同步参照步骤三、四、五。步骤二:信号灯同步,则为用户协议选错(OA或OE),如若不行可电话10010联通(10000电信/10050铁通)进行申告步骤三:信号灯不同步,判断MODEM后面电话线是否可用,如果不能使用,而计费号的其他电话可以使用的,可建议用户自已换电话线,如果用户家计费号的所有电话都不可以使用的,如若不行可电话向客服电话10010联通(10000电信/10050铁通)进行申告。步骤四:检查分离器是否接反。宽带连接错误718现象,极少数为用户端问题:步骤一:建议首先重启计算机后拨号测试:(1)如果故障解决,故障原因无。(2)如果故障依旧或没法进行简单配合,可电话向客服电话10010联通(10000电信/10050铁通)进行障碍申告。字串5宽带连接错误734(PPP链接控制协议被终止)/错误735(请求的地址被服务器拒绝步骤一:建议重新启动电脑。步骤二:拨号软件出错,建议重装拨号软件,常见于XP系统的自带拨号。步骤三:以上处理均无效或用户无法做简单的配合操作,则请拨打客服电话10010联通(10000电信/10050铁通)进行障碍申告。宽带连接错误769错误769:无法连接到指定目标。问题:这是指你电脑的网络设备有问题解决方法:打开“我的电脑”→“控制面版”→“网络连接”,查看本地连接的是否处在“禁用”状态,是的话只需双击本地连接,看到状态变为“已启用”即可。若是连本地连接都没有的话,那你的网卡100%有问题了——不是没装好就是坏了。请您联系您的电脑供应商,或者自己解决。也想每天收到这样的文章,免费关注微信号:FBI机密档案FBIsecrets长按英文复制。出现错误769的错误,大多数是网卡被禁用,启用即可!造成的原因一般为:用户的误操作或一些防火墙软件、计算机病毒引起的,很普遍。如果没有找到本地连接,一般是网卡的驱动程序丢了或计算机没有检测到网卡,可以重新安装即可错误原因:网卡被禁用解决方法:请您点击电脑右键,选择属性,再选择设备管理,再看网卡驱动程序情况,如果是个“x”说明网卡被禁用,点击右键激活网卡就可以解决。宽带连接错误769产生原因及解决方案宽带连接错误769产生原因通常,如果存在下列情况之一,您将收到错误769的信息:1.网络电缆已断开。2.调制解调器已禁用。3.调制解调器驱动程序已损坏。4.计算机上正在运行间谍软件,它妨碍了连接。5.Winsock需要得到修复。6.第三方防火墙软件阻止了连接。解决方案:要查找问题的原因,请按照下列步骤操作。步骤1:确保网络电缆已连接确保网络电缆分别连接到计算机和调制解调器。如果您的计算机连接到集线器或路由器,请确保将集线器或路由器连接到调制解调器的电缆已连接。步骤2:确保网络适配器已启用1.单击“开始”,单击“运行”,键入ncpa.cpl,然后单击“确定”。2.右键单击“本地连接”图标。单击“启用”(如果该选项可用)。步骤3:重置调制解调器1.将从计算机到调制解调器的电缆断开连接。2.关闭调制解调器。如果调制解调器没有电源开关,请切断调制解调器的电源。3.等待两分钟。4.打开调制解调器,然后连接从计算机到调制解调器的电缆。步骤4:使用设备管理器,先卸载、然后重新安装调制解调器和驱动程序在按照这些步骤操作之前,您可能必须从硬件制造商那里下载网络适配器的最新驱动程序。1.单击“开始”,单击“运行”,键入sysdm.cpl,然后单击“确定”。2.单击“硬件”选项卡,单击“设备管理器”,然后找到“网络适配器”。3.展开“网络适配器”,然后右键单击网络适配器的图标。4.单击“卸载”,然后单击“确定”。在提示您删除与此设备相关联的文件的对话框中,单击“是”。5.重新启动计算机。或者,单击“操作”,然后单击“扫描检测硬件改动”。6.如果Windows找到设备但是没有识别它,您必须为网络适配器安装最新的驱动程序。步骤5:创建新的DSL或电缆连接1.单击“开始”,单击“运行”,键入ncpa.cpl,然后单击“确定”。2.单击“网络任务”下的“创建一个新的连接”。当向导启动后,单击“下一步”。3.单击“连接到Internet”,然后单击“下一步”。4.单击“手动设置我的连接”,然后单击“下一步”。5.选择“用要求用户名和密码的宽带连接来连接”,然后单击“下一步”。6.执行其余的步骤。使用Internet服务提供商(ISP)提供的连接信息完成该向导。注意:您可能必须使用您的ISP提供的软件才能创建新的连接。步骤6:修复Winsock和TCP/IP1.单击“开始”,单击“运行”,键入netshwinsockreset,然后按Enter键。2.当命令提示符窗口闪烁时,请重新启动计算机。步骤7:临时卸载第三方防火墙某些第三方防火墙软件(如ZoneAlarm和NortonPersonal防火墙)在运行WindowsXPSP2的计算机上可能导致Internet连接问题。您可能必须临时卸载这些程序以测试计算机。要进行测试,仅禁用这些程序是不够的。请确保您有CD或安装文件以便可以稍后重新安装这些程序。如果问题是由这些程序导致的,则您可能必须与该程序的供应商联系,以获得关于设置该程序的帮助。注意:在删除第三方防火墙程序之前,您可能要验证启用了WindowsXP防火墙。百度百科上的一些:1、 错误代码718、619、691:属于帐号密码问题。A、用户输入帐号、密码时输错,让用户重新输入。B、 帐号到期,可去“IP综合系统”中查询帐号是否到期。C、帐号卡在网上:一般是用户下网时不断开网络连接或异常吊线所导致,可以让用户将猫和电脑的电源关闭10分钟以上再进行连接,一般可以解决。D、帐号被偷:与互联网项目部进行联系解决。2、 错误代码676:属于机房设备问题,可让用户连续多拨几次即可登陆。3、错误代码720:属于modem驱动设置不正确,主要为vpi、vci参数值设置不正确或者需要重新启动电脑。4、错误769: 此类错误原因是本地连接被用户禁用或者停用,主要出现在以太网猫的用户中,属于用户下网时错误断开网卡连接,造成网卡禁用,在“本地连接”中网卡启用即可。5、错误678:一般MODEM指示灯不正常,猫上的link灯闪烁(少数猫的link灯的英文标识为showtime),参照link不上的故障处理或让用户检查自身防火墙。如果MODEM指示灯正常,那故障的原因是电脑不能与MODEM建立连接,解决方法是将MODEM重启,如果还不行,最好重装系统,这种问题一般会长期出现。6、在Windows Vista Home Basic下经常会出现错误815.是网络端口问题.是由于网络供应商的网络断口连接性能.以及连接字段值不正确引起的.和系统一般无关再补个678:错误678,是宽带adsl拨号上网用户常常遇到的故障提示,简单地说就是网络不通了。宽带adsl拨号上网使用pppoe协议连接,通过电话线传输数据,使用adsl专用modem实现数据的调制解调,错误提示678的含义是,远程计算机无响应,意思是从计算机发出指令到网卡向外发送数据,包括电话线的传输,局端(电信局机房端)端子板的端口处理到返回数据到计算机的过程中数据传输出问题都会提示。解决方法1、首先确认adsl modem拨号正常,因为网卡自动获取的IP没有清除,所以再次拨号的时候网卡无法获取新的IP地址会提示678,操作方法是:关闭adsl modem,进入控制面板的网络连接右击本地连接选择禁用,5秒钟后右击本地连接选择启用,然后打开adsl modem拨号即可;2、如果第一步无效,则在关闭adsl modem的情况下,仍然禁用本地连接(网卡),重启计算机,然后启用本地连接(网卡),再打开adsl modem即可解决;3、如果上述步骤都无法解决,查看网卡灯是否亮,如果网卡灯不亮,参看派单知识库:“网卡灯不亮或经常不亮”的解决方案4、如果网卡灯正常1,2步无法解决则带领用户卸载网卡驱动,重装网卡驱动,如果用户xp系统按照:知识编号:9973,如何在WINXP下设置ADSL拨号连接 方法带领用户创建拨号连接,如果98系统建议用户安装Raspppoe软件或者EHERNET300软件连接即可。5、如果上述操作无效联系电信部门确认端口。6.adsl modem故障是主要原因。7.如果多台电脑使用路由器上网,可尝试将路由器拆除后连接Internt。若能顺利上网,则说明路由器故障,应排除路由器故障或更换新的路由器。8.如果是ADSL包年用户,在使用过程中如果出现这种情况,有可能是电话欠费,请咨询客户服务中心。有部分地区中国电信或中国联通用户,在电话欠费的情况下,电话可以打通,但是却无法上网,这时也有可能是电话欠费,因为现在部分地区的电信部门在用户电话欠费情况下,不是停止电话的使用,而是停止网络的使用。9.部分品牌Modem供电不足也容易造成错误67810.如果以上方法都不能解决您的问题,可以尝试一下adsl modem的reset按两三下再上试试。11.adsl modem设备损坏也会造成错误678,虽然从表面上看起来adsl modem运转正常,但是就是连接失败,笔者就曾遇到此类问题,最终换了一个新的adsl modem

独步清客 2019-12-02 00:44:11 0 浏览量 回答数 0

问题

“/”应用程序中的服务器错误。

jinyibz 2019-12-01 18:53:48 251 浏览量 回答数 1

回答

CPU占用率高的其它几种可能   1、防杀毒软件造成故障   由于杀软都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者,升级硬件配备。   2、驱动没有经过认证,造成CPU资源占用100%   大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。 处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。   3、病毒、木马造成   大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。   4、控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。   5、开始->;运行->;msconfig->;启动,关闭不必要的启动项,重启。 答案来源于网络

养狐狸的猫 2019-12-02 03:06:44 0 浏览量 回答数 0

问题

为什么无法连接Windows实例

boxti 2019-12-01 21:47:52 1892 浏览量 回答数 0

回答

(工程师 66360 号)虚拟主机控制台887的报错,通常情况下是宿主机负载过高导致的异常,宿主机无响应会产生这种报错。导致宿主机异常的原因不排除存在恶意的访问,导致站点程序占用cpu和内存资源过高,从而导致的问题。 以上文字由阿里云官方回复整理。简单来说,应该是虚拟主机的母鸡出现了一点问题。如果偶尔遇到这种情况您不必担心,若短暂影响业务,请您耐心等待,尽量在10-20分钟后重试。若故障紧急,请您通过工单(https://selfservice.console.aliyun.com/ticket/createIndex)联系阿里云客服,工单发布时请提供域名信息,以供错误排查。 - - - - - - 作者:Aspirant Zhang 职业:中小型网站制作与运维管理 注意:非阿里云官方客服,知道平台为技术爱好者根据个人经验为您提供处理指引,请勿在本平台泄露网址、IP地址、账户密码及个人信息。非官方回复,仅供参考。 善用智能解答助手https://ia.aliyun.com/ 输入问题关键字如“ECS退款”,阿里云问题不求人! 善用网站自检工具https://zijian.aliyun.com/ 输入网址自动检测,确诊网站表面问题仅3秒!

azhang 2019-12-02 00:25:52 0 浏览量 回答数 0

回答

进程是操作系统中最基本、重要的概念,是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。狭义上讲,进程是正在运行的程序的实例;广义上讲,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统进行资源分配和调度、动态执行的基本单元,是操作系统结构的基础,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。其概念主要有两点:(1)进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域、数据区域和堆栈。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。(2)进程是一个“执行中的程序”。只有在操作系统、处理器执行程序时,它才能成为一个活动的实体,我们称其为进程。从理论角度看,进程是对正在运行的程序过程的抽象;从实现角度看,它是一种数据结构,目的在于清晰地刻画动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序。 一、进程具有以下特点: (1)动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生、动态消亡的。 (2)并发性:任何进程都可以与其他进程一起并发执行。 (3)独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。 (4)异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。 (5)结构特征:进程由程序、数据和进程控制块三部分组成。 二、进程、线程和程序的联系: 通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。此外多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程,也就是说同一程序可以对应多个进程。 三、进程和程序的区别: (1)程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念,而进程是程序在处理机上的一次执行过程,它是一个动态的概念。 (2)程序可以作为一种软件资料长期存在,而进程是有一定生命期的。 (3)程序是永久的,进程是暂时的。 (4)进程更能真实地描述并发,而程序不能。 (5)进程是由进程控制块、程序段、数据段三部分组成。 (6)进程具有创建其他进程的功能而程序没有。 (7)在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单元都是进程。 四、进程具有的三种基本状态 由于进程在执行过程中具有动态性和异步性,因此也就决定了进程可能具有多种状态。 (1)就绪状态(Ready):进程已获得除处理器外的所需资源,等待分配处理器资源;只要分配了处理器进程就可执行。就绪进程可以按多个优先级来划分队列。例如,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列。 (2)运行状态(Running):进程占用处理器资源;处于此状态的进程的数目小于等于处理器的数目。在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程。 (3)阻塞状态(Blocked):由于进程等待某种条件(如I/O操作或进程同步),在条件满足之前无法继续执行。该事件发生前即使把处理器资源分配给该进程,也无法运行。 五、创建进程的事件 在多道程序环境中,只有作为进程时才能在系统中运行。因此,为了让程序能运行,就必须为它创建进程。一个进程去创建另一个进程的典型事件,可以有以下四类: (1) 用户登录:在分时系统中,用户在终端键入登录命令后,如果是合法用户,系统将为该终端建立一个进程,并把它插入到就绪队列中。 (2)作业调度:在批处理系统中,当作业调度程序按照一定的算法调度到某作业时,便将该作业装入到内存,为它分配必要的资源,并立即为它创建进程,再插入到就绪队列中。 (3) 提供服务:当运行中的用户程序提出某种请求后,系统将专门创建一个进程来提供用户所需要的服务,例如,用户程序要求进行文件打印,操作系统将为它创建一个打印进程,这样,不仅可以使打印进程与该用户进程并发执行,而且还便于计算出为完成打印任务所花费的时间。 (4) 应用请求:在上述三种情况中,都是由系统内核为它创建一个新进程,而这一类事件则是基于应用进程的需求,由它创建一个新的进程,以便使新进程以并发的运行方式完成特定任务。 六、进程的创建过程 一旦操作系统发现了要求创建新进程的事件后,便调用进程创建原语create()按下述步骤创建一个新进程。 (1) 申请空白PCB。为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB。 (2) 为新进程分配资源。为新进程的程序和数据以及用户栈分配必要的内存空间。显然,此时操作系统必须知道新进程所需要的内存大小。 (3) 初始化进程控制块。PCB的初始化主要包括:初始化标识信息,将系统分配的标识符和父进程标识符,填入新的PCB中;初始化处理机状态信息,使程序计数器指向程序的入口地址,使栈指针指向栈顶;初始化处理机控制信息,将进程的状态设置为就绪状态或静止就绪状态,对于优先级,通常是将它设置为最低优先级,除非用户以显式的方式提出高优先级要求。 (4) 将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入到就绪队列中。 七、引起进程终止的事件 (1)正常结束:在任何计算机系统中,都应该有一个表示进程已经运行完成的指示。例如,在批处理系统中,通常在程序的最后安排一条Hold指令或终止的系统调用。当程序运行到Hold指令时,将产生一个中断,去通知OS本进程已经完成。 (2)异常结束:在进程运行期间,由于出现某些错误和故障而迫使进程终止。这类异常事件很多,常见的有:越界错误,保护错,非法指令,特权指令错,运行超时,等待超时,算术运算错,I/O故障。 (3)外界干预:外界干预并非指在本进程运行中出现了异常事件,而是指进程应外界的请求而终止运行。这些干预有:操作员或操作系统干预、父进程请求、父进程终止。 八、进程的终止过程 如果系统发生了上述要求终止进程的某事件后,OS便调用进程终止原语,按如下过程去终止指定的进程。 (1)根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程状态。 (2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真。用于指示该进程被终止后应重新进行调度。 (3)若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。 (4)将被终止的进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。 (5)将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息。 九、阻塞唤醒 1、引起进程阻塞和唤醒的事件 (1)请求系统服务:当正在执行的进程请求操作系统提供服务时,由于某种原因,操作系统并不立即满足该进程的要求时,该进程只能转变为阻塞状态来等待,一旦要求得到满足后,进程被唤醒。 (2)启动某种操作:当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,则必须先使该进程阻塞,以等待该操作完成,该操作完成后,将该进程唤醒。 (3)新数据尚未到达:对于相互合作的进程,如果其中一个进程需要先获得另一(合作)进程提供的数据才能运行以对数据进行处理,则是要其所需数据尚未到达,该进程只有(等待)阻塞,等到数据到达后,该进程被唤醒。 (4)无新工作可做:系统往往设置一些具有某特定功能的系统进程,每当这种进程完成任务后,便把自己阻塞起来以等待新任务到来,新任务到达后,该进程被唤醒。 2.进程阻塞过程 正在执行的进程,当发现上述某事件后,由于无法继续执行,于是进程便通过调用阻塞原语block()把自己阻塞。可见,进程的阻塞是进程自身的一种主动行为。进入block过程后,由于此时该进程还处于执行状态,所以应先立即停止执行,把进程控制块中的现行状态由执行改为阻塞,并将PCB插入阻塞队列。如果系统中设置了因不同事件而阻塞的多个阻塞队列,则应将本进程插入到具有相同事件的阻塞(等待)队列。最后,转调度程序进行重新调度,将处理机分配给另一就绪进程,并进行切换,亦即,保留被阻塞进程的处理机状态(在PCB中),再按新进程的PCB中的处理机状态设置CPU环境。 3. 进程唤醒过程 当被阻塞的进程所期待的事件出现时,如I/O完成或者其所期待的数据已经到达,则由有关进程(比如,用完并释放了该I/O设备的进程)调用唤醒原语wakeup(),将等待该事件的进程唤醒。唤醒原语执行的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪,然后再将该PCB插入到就绪队列中。 答案来源网络,供参考,希望对您有帮助

问问小秘 2019-12-02 03:05:02 0 浏览量 回答数 0

问题

【推荐】Windows系统异常重启以及蓝屏的处理方法是什么

boxti 2019-12-01 22:06:15 1737 浏览量 回答数 0

回答

Windows 系统下,蓝屏(BSOD, Blue Sceen of Death)是客户有时会遇到的错误,Windows 操作系统在遇到异常的情况下,为了防止数据丢失,系统自动崩溃蓝屏,如果有配置内存转储文件(crash dump)的收集,系统会自动生成蓝屏dump到指定的目录(默认文件为C:\Windows\memory.dmp)。 可能原因 有多种原因导致操作系统蓝屏,例如: 因为误操作或者病毒引起的系统文件、注册表损坏驱动程序与操作系统兼容性引起的异常内存访问操作系统自身bug三方杀毒软件驱动异常 操作系统在蓝屏的情况下,会抛出对应的bugcheck code以及可能的导致蓝屏的模块来大概说明问题发生的原因。如下图, 微软官方列举了如下bugcheck code,详细请参考如下链接:Bug Check Code Reference http://msdn.microsoft.com/en-us/library/windows/hardware/ff560129(v=vs.85).aspx 对于用户而言,更重要的是如何处理Windows 蓝屏,请参考如下最佳实践以及跟进方案。 最佳实践 根据与微软官方的建议以及日常排查经验,为了防止系统蓝屏的发生以及可能引起的数据丢失,我们建议客户: 请在ECS上启用安骑士防护或其它商业版杀毒防护工具,定期杀毒,定期更新杀毒软件版本,防止病毒或者杀毒软件驱动与操作系统兼容性引起的蓝屏。请定期运行Windows Update,确保微软最新安全更新已经安装。请不要将重要数据放在系统盘,而是使用数据盘。定期对系统盘、数据盘进行快照,以便问题情况下恢复数据。请在修改系统注册表前备份注册表文件,避免修改系统文件 跟进方案 如果 Windows ECS 在使用过程中突然断开、无法远程,查看日志发现异常重启的情况,怀疑可能出现过系统蓝屏,请采用如下方法验证: 方法1:打开”事件查看器”,打开”系统日志”, 在问题发生时间点,如果看到有来源”volmgr”抛出的 ID 46事件,说明之前发生过蓝屏,但是由于没有配置 paging file 页面文件以及内存转储文件的配置,导致 dump 收集失败。     错误    2016/3/25 0:42:55    volmgr    46    无    故障转储初始化未成功 方法2:如果之前有正常配置过蓝屏收集,在系统日志中可以发现事件 ID 41的Kernel-Power的关键错误日志,提示系统从意外的关闭中回复以及事件ID 1001,来源为Bugcheck的日志提示系统出现崩溃。 由于蓝屏日志的分析非常耗时,可能耗费一周或更多的时间。考虑到业务快速恢复,我们强烈建议客户在遇到蓝屏的情况,重启机器后,参考如上的最佳实践。尤其是根据我们的经验,一般病毒、三方杀毒软件和系统bug是最可能的原因,您可以在问题发生后,采用如下3条来避免潜在的已知问题。<1> 卸载系统所有三方杀毒软件, 禁用杀毒软件的防护功能一般不会消除杀毒软件内核驱动的影响<2> 安全模式下,使用微软Msert离线杀毒工具或者三方收费版本杀毒软件杀毒<3> 运行Windows Update,安装所有更新 如果问题仍然发生,建议参考知识点“ECS Windows开启内核转储(Core Dump)配置说明”收集数据,工单反馈进一步分析。

小川游鱼 2019-12-02 00:30:06 0 浏览量 回答数 0

问题

10+年程序员总结的20+条经验教训

雅蕾 2019-12-01 21:56:26 7714 浏览量 回答数 0

问题

健康检查常见问题

行者武松 2019-12-01 21:43:15 3573 浏览量 回答数 0

回答

Windows 系统下,蓝屏(BSOD, Blue Sceen of Death)是客户有时会遇到的错误,Windows 操作系统在遇到异常的情况下,为了防止数据丢失,系统自动崩溃蓝屏,如果有配置内存转储文件(crash dump)的收集,系统会自动生成蓝屏dump到指定的目录(默认文件为C:\Windows\memory.dmp)。 可能原因 有多种原因导致操作系统蓝屏,例如: 因为误操作或者病毒引起的系统文件、注册表损坏 驱动程序与操作系统兼容性引起的异常内存访问 操作系统自身bug 三方杀毒软件驱动异常 操作系统在蓝屏的情况下,会抛出对应的bugcheck code以及可能的导致蓝屏的模块来大概说明问题发生的原因。如下图, 微软官方列举了如下bugcheck code,详细请参考如下链接:Bug Check Code Reference http://msdn.microsoft.com/en-us/library/windows/hardware/ff560129(v=vs.85).aspx 对于用户而言,更重要的是如何处理Windows 蓝屏,请参考如下最佳实践以及跟进方案。 最佳实践 根据与微软官方的建议以及日常排查经验,为了防止系统蓝屏的发生以及可能引起的数据丢失,我们建议客户: 请在ECS上启用安骑士防护或其它商业版杀毒防护工具,定期杀毒,定期更新杀毒软件版本,防止病毒或者杀毒软件驱动与操作系统兼容性引起的蓝屏。 请定期运行Windows Update,确保微软最新安全更新已经安装。 请不要将重要数据放在系统盘,而是使用数据盘。 定期对系统盘、数据盘进行快照,以便问题情况下恢复数据。 请在修改系统注册表前备份注册表文件,避免修改系统文件 跟进方案 如果 Windows ECS 在使用过程中突然断开、无法远程,查看日志发现异常重启的情况,怀疑可能出现过系统蓝屏,请采用如下方法验证: 方法1:打开”事件查看器”,打开”系统日志”, 在问题发生时间点,如果看到有来源”volmgr”抛出的 ID 46事件,说明之前发生过蓝屏,但是由于没有配置 paging file 页面文件以及内存转储文件的配置,导致 dump 收集失败。     错误    2016/3/25 0:42:55    volmgr    46    无    故障转储初始化未成功 方法2:如果之前有正常配置过蓝屏收集,在系统日志中可以发现事件 ID 41的Kernel-Power的关键错误日志,提示系统从意外的关闭中回复以及事件ID 1001,来源为Bugcheck的日志提示系统出现崩溃。 由于蓝屏日志的分析非常耗时,可能耗费一周或更多的时间。考虑到业务快速恢复,我们强烈建议客户在遇到蓝屏的情况,重启机器后,参考如上的最佳实践。尤其是根据我们的经验,一般病毒、三方杀毒软件和系统bug是最可能的原因,您可以在问题发生后,采用如下3条来避免潜在的已知问题。<1> 卸载系统所有三方杀毒软件, 禁用杀毒软件的防护功能一般不会消除杀毒软件内核驱动的影响<2> 安全模式下,使用微软Msert离线杀毒工具或者三方收费版本杀毒软件杀毒<3> 运行Windows Update,安装所有更新 如果问题仍然发生,建议参考知识点“ECS Windows开启内核转储(Core Dump)配置说明”收集数据,工单反馈进一步分析。 阅读须知 本文仅供用户使用 ECS Windows 时参考,文中引用的微软官方链接,版权归属微软。请注意文章适用的操作系统范围,以及微软 Windows 产品迭代或者文档未及时更新可能带来的问题,阿里云官方不对引用的微软官方链接内容负责。如果您对文档内容有疑问或认为文档内容有误,请及时通过文档下方的评价板块反馈给我们,我们将酌情改进修正。 如果问题还未解决,请联系售后技术支持。

小川游鱼 2019-12-02 00:31:32 0 浏览量 回答数 0

回答

Windows 系统下,蓝屏(BSOD, Blue Sceen of Death)是客户有时会遇到的错误,Windows 操作系统在遇到异常的情况下,为了防止数据丢失,系统自动崩溃蓝屏,如果有配置内存转储文件(crash dump)的收集,系统会自动生成蓝屏dump到指定的目录(默认文件为C:\Windows\memory.dmp)。 有多种原因导致操作系统蓝屏,例如: 因为误操作或者病毒引起的系统文件、注册表损坏 驱动程序与操作系统兼容性引起的异常内存访问 操作系统自身bug 三方杀毒软件驱动异常 操作系统在蓝屏的情况下,会抛出对应的bugcheck code以及可能的导致蓝屏的模块来大概说明问题发生的原因。如下图, 微软官方列举了如下bugcheck code,详细请参考如下链接:Bug Check Code Reference http://msdn.microsoft.com/en-us/library/windows/hardware/ff560129(v=vs.85).aspx 对于用户而言,更重要的是如何处理Windows 蓝屏,请参考如下最佳实践以及跟进方案。 最佳实践 根据与微软官方的建议以及日常排查经验,为了防止系统蓝屏的发生以及可能引起的数据丢失,我们建议客户: 请在ECS上启用安骑士防护或其它商业版杀毒防护工具,定期杀毒,定期更新杀毒软件版本,防止病毒或者杀毒软件驱动与操作系统兼容性引起的蓝屏。 请定期运行Windows Update,确保微软最新安全更新已经安装。 请不要将重要数据放在系统盘,而是使用数据盘。 定期对系统盘、数据盘进行快照,以便问题情况下恢复数据。 请在修改系统注册表前备份注册表文件,避免修改系统文件 跟进方案 如果 Windows ECS 在使用过程中突然断开、无法远程,查看日志发现异常重启的情况,怀疑可能出现过系统蓝屏,请采用如下方法验证: 方法1:打开”事件查看器”,打开”系统日志”, 在问题发生时间点,如果看到有来源”volmgr”抛出的 ID 46事件,说明之前发生过蓝屏,但是由于没有配置 paging file 页面文件以及内存转储文件的配置,导致 dump 收集失败。     错误    2016/3/25 0:42:55    volmgr    46    无    故障转储初始化未成功 方法2:如果之前有正常配置过蓝屏收集,在系统日志中可以发现事件 ID 41的Kernel-Power的关键错误日志,提示系统从意外的关闭中回复以及事件ID 1001,来源为Bugcheck的日志提示系统出现崩溃。 由于蓝屏日志的分析非常耗时,可能耗费一周或更多的时间。考虑到业务快速恢复,我们强烈建议客户在遇到蓝屏的情况,重启机器后,参考如上的最佳实践。尤其是根据我们的经验,一般病毒、三方杀毒软件和系统bug是最可能的原因,您可以在问题发生后,采用如下3条来避免潜在的已知问题。<1> 卸载系统所有三方杀毒软件, 禁用杀毒软件的防护功能一般不会消除杀毒软件内核驱动的影响<2> 安全模式下,使用微软Msert离线杀毒工具或者三方收费版本杀毒软件杀毒<3> 运行Windows Update,安装所有更新 如果问题仍然发生,建议参考知识点“ECS Windows开启内核转储(Core Dump)配置说明”收集数据,工单反馈进一步分析。 阅读须知 本文仅供用户使用 ECS Windows 时参考,文中引用的微软官方链接,版权归属微软。请注意文章适用的操作系统范围,以及微软 Windows 产品迭代或者文档未及时更新可能带来的问题,阿里云官方不对引用的微软官方链接内容负责。如果您对文档内容有疑问或认为文档内容有误,请及时通过文档下方的评价板块反馈给我们,我们将酌情改进修正。

51干警网 2019-12-02 00:47:00 0 浏览量 回答数 0

回答

概述 当网站访问很慢或无法访问时,若已经排除显著的问题,而使用ping命令检测到有明显丢包时,建议您做链路测试。在Windows环境中,推荐优先使用WinMTR工具,或者tracert命令行进行链路测试以判断问题来源。通常情况下,链路测试步骤如下。 利用链路测试工具探测网络状况和服务器状态。 根据链路测试结果分析处理。 详细信息 阿里云提醒您: 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。 WinMTR工具 mtr(My traceroute)作为一款网络测试工具,集成了tracert与ping这两个命令的图形界面。ping与tracert通常被用于检测网络状况和服务器状态,具体说明如下。 命令名称 具体说明 ping 送出封包到指定的服务器。如果服务器有回应就会传送回封包,并附带返回封包来回的时间 tracert 返回从用户的电脑到指定的服务器中间经过的所有节点(路由)以及每个节点的回应速度。 WinMTR是mtr工具在Windows环境下的图形化实现,适合Windows下做路由追踪及ping测试。WinMTR默认发送ICMP数据包进行探测,无法切换。 相比tracert命令行工具,WinMTR能避免节点波动对测试结果的影响,测试结果更正确。Windows环境下,建议优先使用WinMTR进行链路测试。下载WinMTR工具。 下载WinMTR工具后,直接解压运行。运行程序后,在 Host 字段输入目标服务器域名或IP。 1 单击 Start 开始测试。开始测试后,相应按钮变成了 Stop。 运行一段时间后,单击 Stop 停止测试。 说明:您可以多测试几分钟,测试结束后,将结果导出。 常见可选参数说明 Copy Text to clipboard:将测试结果以文本格式复制到粘贴板。 Copy HTML to clipboard:将测试结果以HTML格式复制到粘贴板。 Export TEXT:将测试结果以文本格式导出到指定文件。 Export HTML:将测试结果以HTML格式导出到指定文件。 Options:为可选参数。具体包括以下参数。 Interval(sec):每次探测的间隔(过期)时间,默认为1秒。 Ping size(bytes):ping 探测所使用的数据包大小,默认为64字节。 Max hosts in LRU list:LRU列表支持的最大主机数,默认值为128。 Resolve names:通过反查IP以域名显示相关节点。 WinMTR运行后的返回结果说明 默认配置下,WinMTR测试结果说明如下。 第一列(Hostname):到目标服务器要经过的每个节点主机IP或域名。 第二列(Nr):节点编号。 第三列(Loss%):节点丢包率。ping数据包回复失败的百分比,由此可判断哪个节点(线路)出现故障,是服务器所在机房还是国际路由干路。 第四列(Sent):已发送的数据包数量。 第五列(Recv):已成功接收的数据包数量。 第六、七、八、九列(Best 、Avg、Worst、Last):分别是回应时间的最小值、平均值、最大值和最后一个数据包的回应时间。 tracert命令行工具 tracert (Trace Route) 是Windows自带的网络诊断命令行实用程序,用于跟踪Internet协议(IP)数据包传送到目标地址时经过的路径。 tracert通过向目标地址发送ICMP数据包来确定到目标地址的路由。在这些数据包中,tracert使用了不同的IP生存期 (TTL) 值。由于要求沿途的路由器在转发数据包前至少必须将TTL减少1,因此TTL实际上相当于一个跃点计数器 (hop counter)。当某个数据包的TTL达到零时,相应节点就会向源计算机发送一个ICMP超时的消息。tracert第一次发送TTL为1的数据包,并在每次后续传输时将TTL增加1,直到目标地址响应或达到TTL的最大值。中间路由器发送回来的ICMP超时消息中包含了相应节点的信息。 在桌面底部单击 开始 菜单,选择 运行。 打开运行框后,在框中输入 cmd,并单击 确定。 在命令运行界面中,输入 tracert ,按回车键后,界面将显示tracert的用法说明。 2 根据具体用法,输入待跟踪的目标地址,示例如下。 C:> tracert -d 223.5.5.5 通过最多 30 个跃点跟踪到 223.5.5.5 的路由 1 * * * 请求超时。 2 9 ms 3 ms 12 ms 192.X.X.20 3 4 ms 9 ms 2 ms 111.X.X.41 4 9 ms 2 ms 1 ms 111.X.X.197 5 11 ms * * 211.X.X.57 6 3 ms 2 ms 2 ms 211.X.X.62 7 2 ms 2 ms 1 ms 42.X.X.190 8 32 ms 4 ms 3 ms 42.X.X.238 9 * * * 请求超时。 10 3 ms 2 ms 2 ms 223.5.5.5 分析链路测试结果 以如下链路测试结果示例图为基础进行阐述。 判断各区域是否存在异常,并根据各区域的情况分别处理。 区域A:客户端本地网络,即本地局域网和本地网络提供商网络。针对该区域异常,客户端本地网络相关节点问题,请对本地网络进行排查分析;本地网络提供商网络相关节点问题,请向当地运营商反馈。 区域B:运营商骨干网络。针对该区域异常,可根据异常节点IP查询归属运营商,然后直接或通过阿里云售后技术支持,向相应运营商反馈问题。 区域C:目标服务器本地网络,即目标主机归属网络提供商网络。针对该区域异常,需要向目标主机归属网络提供商反馈问题。 结合Avg(平均值)和StDev(标准偏差),判断各节点是否存在异常。 若StDev很高,则同步观察相应节点的Best和Worst,来判断相应节点是否存在异常。 若StDev不高,则通过Avg来判断相应节点是否存在异常。 注意:上述StDev高或者不高,并没有具体的时间范围标准。而需要根据同一节点其它列的延迟值大小来进行相对评估。比如,如果Avg为30ms,那么,当StDev为25ms,则认为是很高的偏差。而如果Avg为325ms,则同样的StDev为25ms,反而认为是不高的偏差。 查看节点丢包率,若“Loss%”不为零,则说明这一跳路由的网络可能存在问题。导致节点丢包的原因通常有两种。 人为限制了节点的ICMP发送速率,导致丢包。 节点确实存在异常,导致丢包。 确定当前异常节点的丢包原因。 若随后节点均没有丢包,说明当前节点丢包是由于运营商策略限制所致,可以忽略。如前文链路测试结果示例图中的第2跳路由的网络所示。 若随后节点也出现丢包,说明当前节点存在网络异常,导致丢包。如前文链路测试结果示例图中的第5跳路由的网络所示。 说明:前述两种情况可能同时发生,即相应节点既存在策略限速,又存在网络异常。对于这种情况,若当前节点及其后续节点连续出现丢包,而且各节点的丢包率不同,则通常以最后几跳路由的网络的丢包率为准。如前文链路测试结果示例图所示,在第5、6、7跳路由的网络均出现了丢包。所以,最终丢包情况,以第7跳的40%作为参考。 通过查看是否有明显的延迟,来确认节点是否存在异常。通过如下两个方面进行分析。 若某一跳路由的网络之后延迟明显陡增,则通常判断该节点存在网络异常。如前文链路测试结果示例图所示,从第5跳路由的网络之后的后续节点延迟明显陡增,则推断是第5跳路由的网络节点出现了网络异常。 注:高延迟并不一定完全意味着相应节点存在异常,延迟大也有可能是在数据回包链路中引发的,建议结合反向链路测试一并分析。 ICMP策略限速也可能会导致相应节点的延迟陡增,但后续节点通常会恢复正常。如前文链路测试结果示例图所示,第3跳路由的网络有100%的丢包率,同时延迟也明显陡增。但随后节点的延迟马上恢复了正常。所以判断该节点的延迟陡增及丢包是由于策略限速所致。 操作建议 若数据包在目标地址出现了100%的丢包,建议对目标服务器的安全策略配置进行排查。 若数据包出现循环跳转,导致无法到达目标服务器,建议联系相应节点归属运营商处理。 若数据包在跳转后无法收到任何反馈,建议结合反向链路测试作进一步确认,并联系相应节点归属运营商进行处理。 阿里云中国内地机房和其他国家或地区有网络通信的专线,为降低通信时候的丢包率,推荐使用高速通道。 若主机掉包和延迟非常高,建议做WinMTR双向测试,即本地到服务器的和服务器到本地的测试。无法远程登录时,请通过管理终端进行登录。

1934890530796658 2020-03-25 23:51:46 0 浏览量 回答数 0

回答

从业余程序员到职业程序员 程序员刚入行时,我觉得最重要的是把自己培养成职业的程序员。 我的程序员起步比同龄人都晚了很多,更不用说现在的年轻人了。我大学读的是生物专业,在上大学前基本算是完全没接触过计算机。军训的时候因为很无聊,我和室友每天跑去学校的机房玩,我现在还印象很深刻,我第一次走进机房的时候,别人问,你是要玩windows,还是dos,我那是完全的一抹黑。后来就只记得在机房一堆人都是在练习盲打,军训完,盲打倒是练的差不多了,对计算机就这么产生了浓厚的兴趣,大一的时候都是玩组装机,捣鼓了一些,对计算机的硬件有了那么一些了解。 到大二后,买了一些书开始学习当时最火的网页三剑客,学会了手写HTML、PS的基本玩法之类的,课余、暑假也能开始给人做做网站什么的(那个时候做网站真的好赚钱),可能那样过了个一年左右,做静态的网页就不好赚钱了,也不好找实习工作,于是就开始学asp,写些简单的CRUD,做做留言板、论坛这些动态程序,应该算是在这个阶段接触编程了。 毕业后加入了深圳的一家做政府行业软件的公司,一个非常靠谱和给我空间的Leader,使得自己在那几年有了不错的成长,终于成了一个职业的程序员。 通常来说,业余或半职业的程序员,多数是1个人,或者很小的一个团队一起开发,使得在开发流程、协作工具(例如jira、cvs/svn/git等)、测试上通常会有很大的欠缺,而职业的程序员在这方面则会专业很多。另外,通常职业的程序员做的系统都要运行较长的时间,所以在可维护性上会特别注意,这点我是在加入阿里后理解更深的。一个运行10年的系统,和一个写来玩玩的系统显然是有非常大差别的。 这块自己感觉也很难讲清楚,只能说模模糊糊有个这样的概念。通常在有兴趣的基础上,从业余程序员跨越到成为职业程序员我觉得不会太难。 编程能力的成长 作为程序员,最重要的能力始终是编程能力,就我自己的感受而言,我觉得编程能力的成长主要有这么几个部分: 1、编程能力初级:会用 编程,首先都是从学习编程语言的基本知识学起的,不论是什么编程语言,有很多共同的基本知识,例如怎么写第一个Hello World、if/while/for、变量等,因此我比较建议在刚刚开始学一门编程语言的时候,看看编程语言自己的一些文档就好,不要上来就去看一些高阶的书。我当年学Java的时候上来就看Think in Java、Effective Java之类的,真心好难懂。 除了看文档以外,编程是个超级实践的活,所以一定要多写代码,只有这样才能真正熟练起来。这也是为什么我还是觉得在面试的时候让面试者手写代码是很重要的,这个过程是非常容易判断写代码的熟悉程度的。很多人会说由于写代码都是高度依赖IDE的,导致手写很难,但我绝对相信写代码写了很多的人,手写一段不太复杂的、可运行的代码是不难的。即使像我这种三年多没写过代码的人,让我现在手写一段不太复杂的可运行的Java程序,还是没问题的,前面N年的写代码生涯使得很多东西已经深入骨髓了。 我觉得编程能力初级这个阶段对于大部分程序员来说都不会是问题,勤学苦练,是这个阶段的核心。 2、编程能力中级:会查和避免问题 除了初级要掌握的会熟练的使用编程语言去解决问题外,中级我觉得首先是提升查问题的能力。 在写代码的过程中,出问题是非常正常的,怎么去有效且高效的排查问题,是程序员群体中通常能感受到的大家在编程能力上最大的差距。 解决问题能力强的基本很容易在程序员群体里得到很高的认可。在查问题的能力上,首先要掌握的是一些基本的调试技巧,好用的调试工具,在Java里有JDK自带的jstat、jmap、jinfo,不在JDK里的有mat、gperf、btrace等。工欲善其事必先利其器,在查问题上是非常典型的,有些时候大家在查问题时的能力差距,有可能仅仅是因为别人比你多知道一个工具而已。 除了调试技巧和工具外,查问题的更高境界就是懂原理。一个懂原理的程序员在查问题的水平上和其他程序员是有明显差距的。我想很多的同学应该能感受到,有些时候查出问题的原因仅仅是因为有效的工具,知其然不知其所以然。 我给很多阿里的同学培训过Java排查问题的方法,在这个培训里,我经常也会讲到查问题的能力的培养最主要的也是熟练,多尝试给自己写一些会出问题的程序,多积极的看别人是怎么查问题的,多积极的去参与排查问题,很多最后查问题能力强的人多数仅仅是因为“无他,但手熟尔”。 我自己排查问题能力的提升主要是在2009年和2010年。那两年作为淘宝消防队(处理各种问题和故障的虚拟团队)的成员,处理了很多的故障和问题。当时消防队还有阿里最公认的技术大神——多隆,我向他学习到了很多排查问题的技巧。和他比,我排查问题的能力就是初级的那种。 印象最深刻的是一次我们一起查一个应用cpu us高的问题,我们两定位到是一段代码在某种输入参数的时候会造成cpu us高的原因后,我能想到的继续查的方法是去生产环境抓输入参数,然后再用参数来本地debug看是什么原因。但多隆在看了一会那段代码后,给了我一个输入参数,我拿这个参数一运行,果然cpu us很高!这种case不是一次两次。所以我经常和别人说,我是需要有问题场景才能排查出问题的,但多隆是完全有可能直接看代码就能看出问题的,这是本质的差距。 除了查问题外,更厉害的程序员是在写代码的过程就会很好的去避免问题。大家最容易理解的就是在写代码时处理各种异常情况,这里通常也是造成程序员们之间很大的差距的地方。 写一段正向逻辑的代码,大部分情况下即使有差距,也不会太大,但在怎么很好的处理这个过程中有可能出现的异常上,这个时候的功力差距会非常明显。很多时候一段代码里处理异常逻辑的部分都会超过正常逻辑的代码量。 我经常说,一个优秀程序员和普通程序员的差距,很多时候压根就不需要看什么满天飞的架构图,而只用show一小段的代码就可以。 举一个小case大家感受下。当年有一个严重故障,最后查出的原因是输入的参数里有一个是数组,把这个数组里的值作为参数去查数据库,结果前面输入了一个很大的数组,导致从数据库查了大量的数据,内存溢出了,很多程序员现在看都会明白对入参、出参的保护check,但类似这样的case我真的碰到了很多。 在中级这个阶段,我会推荐大家尽可能的多刻意的去培养下自己这两个方面的能力,成为一个能写出高质量代码、有效排查问题的优秀程序员。 3、编程能力高级:懂高级API和原理 就我自己的经历而言,我是在写了多年的Java代码后,才开始真正更细致的学习和掌握Java的一些更高级的API,我相信多数Java程序员也是如此。 我算是从2003年开始用Java写商业系统的代码,但直到在2007年加入淘宝后,才开始非常认真地学习Java的IO通信、并发这些部分的API。尽管以前也学过也写过一些这样的代码,但完全就是皮毛。当然,这些通常来说有很大部分的原因会是工作的相关性,多数的写业务系统的程序员可能基本就不需要用到这些,所以导致会很难懂这些相对高级一些的API,但这些API对真正的理解一门编程语言,我觉得至关重要。 在之前的程序员成长路线的文章里我也讲到了这个部分,在没有场景的情况下,只能靠自己去创造场景来学习好。我觉得只要有足够的兴趣,这个问题还是不大的,毕竟现在有各种开源,这些是可以非常好的帮助自己创造机会学习的,例如学Java NIO,可以自己基于NIO包一个框架,然后对比Netty,看看哪些写的是不如Netty的,这样会非常有助于真正的理解。 在学习高级API的过程中,以及排查问题的过程中,我自己越来越明白懂编程语言的运行原理是非常重要的,因此我到了后面的阶段开始学习Java的编译机制、内存管理、线程机制等。对于我这种非科班出身的而言,学这些会因为缺乏基础更难很多,但这些更原理性的东西学会了后,对自己的编程能力会有质的提升,包括以后学习其他编程语言的能力,学这些原理最好的方法我觉得是先看看一些讲相关知识的书,然后去翻看源码,这样才能真正的更好的掌握,最后是在以后写代码的过程中、查问题的过程中多结合掌握的原理,才能做到即使在N年后也不会忘。 在编程能力的成长上,我觉得没什么捷径。我非常赞同1万小时理论,在中级、高级阶段,如果有人指点或和优秀的程序员们共事,会好非常多。不过我觉得这个和读书也有点像,到了一定阶段后(例如高中),天分会成为最重要的分水岭,不过就和大部分行业一样,大部分的情况下都还没到拼天分的时候,只需要拼勤奋就好。 系统设计能力的成长 除了少数程序员会进入专深的领域,例如Linux Kernel、JVM,其他多数的程序员除了编程能力的成长外,也会越来越需要在系统设计能力上成长。 通常一个编程能力不错的程序员,在一定阶段后就会开始承担一个模块的工作,进而承担一个子系统、系统、跨多领域的更大系统等。 我自己在工作的第三年开始承担一个流程引擎的设计和实现工作,一个不算小的系统,并且也是当时那个项目里的核心部分。那个阶段我学会了一些系统设计的基本知识,例如需要想清楚整个系统的目标、模块的划分和职责、关键的对象设计等,而不是上来就开始写代码。但那个时候由于我是一个人写整个系统,所以其实对设计的感觉并还没有那么强力的感觉。 在那之后的几年也负责过一些系统,但总体感觉好像在系统设计上的成长没那么多,直到在阿里的经历,在系统设计上才有了越来越多的体会。(点击文末阅读原文,查看:我在系统设计上犯过的14个错,可以看到我走的一堆的弯路)。 在阿里有一次做分享,讲到我在系统设计能力方面的成长,主要是因为三段经历,负责专业领域系统的设计 -> 负责跨专业领域的专业系统的设计 -> 负责阿里电商系统架构级改造的设计。 第一段经历,是我负责HSF。HSF是一个从0开始打造的系统,它主要是作为支撑服务化的框架,是个非常专业领域的系统,放在整个淘宝电商的大系统来看,其实它就是一个很小的子系统,这段经历里让我最深刻的有三点: 1).要设计好这种非常专业领域的系统,专业的知识深度是非常重要的。我在最早设计HSF的几个框的时候,是没有设计好服务消费者/提供者要怎么和现有框架结合的,在设计负载均衡这个部分也反复了几次,这个主要是因为自己当时对这个领域掌握不深的原因造成的; 2). 太技术化。在HSF的阶段,出于情怀,在有一个版本里投入了非常大的精力去引进OSGi以及去做动态化,这个后来事实证明是个非常非常错误的决定,从这个点我才真正明白在设计系统时一定要想清楚目标,而目标很重要的是和公司发展阶段结合; 3). 可持续性。作为一个要在生产环境持续运行很多年的系统而言,怎么样让其在未来更可持续的发展,这个对设计阶段来说至关重要。这里最low的例子是最早设计HSF协议的时候,协议头里竟然没有版本号,导致后来升级都特别复杂;最典型的例子是HSF在早期缺乏了缺乏了服务Tracing这方面的设计,导致后面发现了这个地方非常重要后,全部落地花了长达几年的时间;又例如HSF早期缺乏Filter Chain的设计,导致很多扩展、定制化做起来非常不方便。 第二段经历,是做T4。T4是基于LXC的阿里的容器,它和HSF的不同是,它其实是一个跨多领域的系统,包括了单机上的容器引擎,容器管理系统,容器管理系统对外提供API,其他系统或用户通过这个来管理容器。这个系统发展过程也是各种犯错,犯错的主要原因也是因为领域掌握不深。在做T4的日子里,学会到的最重要的是怎么去设计这种跨多个专业领域的系统,怎么更好的划分模块的职责,设计交互逻辑,这段经历对我自己更为重要的意义是我有了做更大一些系统的架构的信心。 第三段经历,是做阿里电商的异地多活。这对我来说是真正的去做一个巨大系统的架构师,尽管我以前做HSF的时候参与了淘宝电商2.0-3.0的重大技术改造,但参与和自己主导是有很大区别的,这个架构改造涉及到了阿里电商众多不同专业领域的技术团队。在这个阶段,我学会的最主要的: 1). 子系统职责划分。在这种超大的技术方案中,很容易出现某些部分的职责重叠和冲突,这个时候怎么去划分子系统,就非常重要了。作为大架构师,这个时候要从团队的职责、团队的可持续性上去选择团队; 2). 大架构师最主要的职责是控制系统风险。对于这种超大系统,一定是多个专业领域的架构师和大架构师共同设计,怎么确保在执行的过程中对于系统而言最重要的风险能够被控制住,这是我真正的理解什么叫系统设计文档里设计原则的部分。 设计原则我自己觉得就是用来确保各个子系统在设计时都会遵循和考虑的,一定不能是虚的东西,例如在异地多活架构里,最重要的是如何控制数据风险,这个需要在原则里写上,最基本的原则是可接受系统不可用,但也要保障数据一致,而我看过更多的系统设计里设计原则只是写写的,或者千篇一律的,设计原则切实的体现了架构师对目标的理解(例如当时异地多活这个其实开始只是个概念,但做到什么程度才叫做到异地多活,这是需要解读的,也要确保在技术层面的设计上是达到了目标的),技术方案层面上的选择原则,并确保在细节的设计方案里有对于设计原则的承接以及执行; 3). 考虑问题的全面性。像异地多活这种大架构改造,涉及业务层面、各种基础技术层面、基础设施层面,对于执行节奏的决定要综合考虑人力投入、机器成本、基础设施布局诉求、稳定性控制等,这会比只是做一个小的系统的设计复杂非常多。 系统设计能力的成长,我自己觉得最重要的一是先在一两个技术领域做到专业,然后尽量扩大自己的知识广度。例如除了自己的代码部分外,还应该知道具体是怎么部署的,部署到哪去了,部署的环境具体是怎么样的,和整个系统的关系是什么样的。 像我自己,是在加入基础设施团队后才更加明白有些时候软件上做的一个决策,会导致基础设施上巨大的硬件、网络或机房的投入,但其实有可能只需要在软件上做些调整就可以避免,做做研发、做做运维可能是比较好的把知识广度扩大的方法。 第二点是练习自己做tradeoff的能力,这个比较难,做tradeoff这事需要综合各种因素做选择,但这也是所有的架构师最关键的,可以回头反思下自己在做各种系统设计时做出的tradeoff是什么。这个最好是亲身经历,听一些有经验的架构师分享他们选择背后的逻辑也会很有帮助,尤其是如果恰好你也在同样的挑战阶段,光听最终的架构结果其实大多数时候帮助有限。 技术Leader我觉得最好是能在架构师的基础上,后续注重成长的方面还是有挺大差别,就不在这篇里写了,后面再专门来写一篇。 程序员金字塔 我认为程序员的价值关键体现在作品上,被打上作品标签是一种很大的荣幸,作品影响程度的大小我觉得决定了金字塔的层次,所以我会这么去理解程序员的金字塔。 当然,要打造一款作品,仅有上面的两点能力是不够的,作品里很重要的一点是对业务、技术趋势的判断。 希望作为程序员的大伙,都能有机会打造一款世界级的作品,去为技术圈的发展做出贡献。 由于目前IT技术更新速度还是很快的,程序员这个行当是特别需要学习能力的。我一直认为,只有对程序员这个职业真正的充满兴趣,保持自驱,才有可能在这个职业上做好,否则的话是很容易淘汰的。 作者简介: 毕玄,2007年加入阿里,十多年来主要从事在软件基础设施领域,先后负责阿里的服务框架、Hbase、Sigma、异地多活等重大的基础技术产品和整体架构改造。

茶什i 2020-01-10 15:19:35 0 浏览量 回答数 0

回答

概述 本文主要介绍无法远程登录Linux实例的案例和排查方法。 详细信息 本文主要通过如下2个方面解决无法远程登录Linux实例的问题。 常见报错案例 排查方法 常见报错案例 SSH无法远程登录Linux实例的常见案例如下所示,可根据实际报错信息选择不同的方案进行排查和处理。 PAM安全框架 Linux系统环境配置 SSH服务及参数配置 SSH服务关联目录或文件配置 SSH服务密钥配置 PAM安全框架 Linux系统的PAM安全框架可以加载相关安全模块,对云服务器的账户策略、登录策略等进行访问控制。如果相关配置存在异常,或触发了相关策略,就可能会导致SSH登录失败。根据不同报错信息,可参见如下常见案例进行解决。 SSH登录时出现如下错误:pam_listfile(sshd:auth): Refused user root for service sshd SSH登录时出现如下错误:requirement “uid >= 1000” not met by user “root” SSH登录时出现如下错误:Maximum amount of failed attempts was reached SSH登录时出现如下错误:login: Module is unknown Linux系统环境配置 Linux内的系统环境,比如中毒、账户配置、环境变量配置等,如果出现异常,也可能会导致SSH登录失败。根据不同报错信息,可参见如下常见案例进行解决。 SSH登录时出现如下错误:ssh_exchange_identification: read: Connection reset by peer 中毒导致SSH服务运行异常,出现如下错误:fatal: mm_request_send: write: Broken pipe SSH启动时出现如下错误:main process exited, code=exited SSH连接时出现如下错误:pam_limits(sshd:session):could not sent limit for ‘nofile’ SSH连接时出现如下错误:pam_unix(sshdsession) session closed for user SSH连接时出现如下错误:error Could not get shadow infromation for root SSH服务及参数配置 SSH服务的默认配置文件为/etc/ssh/sshd_config。配置文件中的相关参数配置异常,或启用了相关特性或策略,也可能会导致 SSH登录失败。根据不同报错信息,可参见如下常见案例进行解决。 SSH登录时出现如下错误:Disconnected:No supported authentication methods available SSH登录时出现如下错误:User root not allowed because not listed in SSH登录时出现如下错误:Permission denied, please try again SSH登录时出现如下错误:Too many authentication failures for root SSH启动时出现如下错误:error while loading shared libraries SSH启动时出现如下错误:fatal: Cannot bind any address SSH启动时出现如下错误:Bad configuration options 云服务器ECS Linux SSH启用UseDNS导致连接速度变慢 Linux实例中由于SELinux服务开启导致SSH远程连接异常 SSH服务关联目录或文件配置 SSH服务基于安全性考虑,在运行时,会对相关目录或文件的权限配置、属组等进行检查。过高或过低的权限配置,都可能会引发服务运行异常,进而导致客户端登录失败。根据不同报错信息,可参见如下常见案例进行解决。 SSH登录时出现如下错误:No supported key exchange algorithms SSH启动时出现如下错误:must be owned by root and not group or word-writable SSH服务密钥配置 SSH服务采用非对称加密技术,对所传输的数据进行加密。客户端及服务端会交换和校验相关密钥信息的有效性。根据不同报错信息,可参见如下常见案例进行解决。 SSH登录时出现如下错误:Host key verification failed SSH服务的公私钥异常导致无法SSH登录Linux实例 排查方法 若常见报错案例没有解决问题,可以参考如下流程排查问题。 检查CPU负载、带宽及内存使用情况 客户端排查 中间网络 网络检查 端口检查 安全组检查 示例 提示: 以下操作在CentOS 6.5 64位操作系统中进行过测试,在其他Linux发行版中可能存在差异,具体情况请参阅对应Linux发行版的官方文档。 客户端SSH连接Linux实例是运维操作的主要途径。通过管理终端可以用于临时运维操作,或者在客户端SSH登录异常时,用于问题排查和分析。 下图为SSH登录关联因素示意图。由此可见,通过SSH无法远程登录Linux实例时,可能涉及的关联因素较多。 检查CPU负载、带宽及内存使用情况 确认是否存在CPU负载过高的情况,如果存在,则参考本步骤解决问题,如果不存在,则执行下一步步骤。 提示:您无法主动监控系统内部的程序运行状态,但是可以借助云监控进行查看。 登录云监控控制台,依次选择 主机监控 > 进程监控。 查看应用运行情况,排除CPU负载过高的原因,如何查看CPU负载问题,请参见Linux系统ECS实例CPU使用率较高的排查思路。 提示:在某个时间段CPU负载过高可能导致远程连接失败,建议您查询程序或者实例资源是否不满足现有要求。 无法远程连接可能是公网带宽不足导致的,具体排查方法如下。可通过续费ECS实例,然后重启实例解决。详情参见手动续费或者自动续费。 登录ECS管理控制台。 找到该实例, 单击 管理 进入 实例详情 页面,查看网络监控数据。 检查服务器带宽是否为“1k”或“0k”。如果购买实例时没有购买公网带宽,后来升级了公网带宽,续费的时候没有选择续费带宽,带宽就会变成“1k”。 远程连接输入用户密码登录后,不能正常显示桌面直接退出,也没有错误信息。这种情况可能是服务器内存不足导致的,需要查看一下服务器的内存使用情况。具体操作如下。 使用控制台远程连接功能登录到Linux实例。 查看内存使用情况,具体请参考Linux系统的ECS实例中如何查看物理CPU和内存信息,确认内存不足后,请参考Linux服务器内存消耗过高进行处理。 客户端排查 客户端无法正常登录时,先使用不同的SSH客户端基于相同账户信息进行登录测试。如果能正常登录,则判断是客户端配置问题,需要对客户端配置或软件运行情况做排查分析。关于如何使用客户端SSH登录Linux实例,您可以参考远程连接Linux实例。 步骤一:使用管理终端登录实例 无论何种原因导致无法远程连接实例,请先尝试用阿里云提供的远程连接功能进行连接,确认实例还有响应,没有完全宕机,然后再按原因分类进行故障排查。 登录云服务器管理控制台,单击左侧导航栏中的 实例,然后在目标实例右侧单击 远程连接。 在首次连接或忘记连接密码时,单击 修改远程连接密码,修改远程连接的密码。 然后通过远程连接密码连接实例。 步骤二:检查客户端本地网络是否异常 确认是否存在用户本地无法连接外网的故障。 如果存在,则检查网卡驱动,如果存在异常,则重新安装。使用管理终端登录实例,查看/etc/hosts.deny文件,查看是否存在拦截IP,如果存在则删除此IP配置即可。 如果不存在,则执行下一步步骤。 步骤三:重启实例 在确保登录密码正确的情况下,确认之前是否曾重置过密码。检查重置实例密码后是否未重启实例,如果存在实例密码修改记录,但无重启实例记录,则参考以下操作步骤重启实例。 登录ECS管理控制台,单击左侧导航栏中的 实例。 在页面顶部的选择对应的地域,目标实例右侧单击 更多 > 实例状态 > 重启,再单击 确认 即可。 中间网络 中间网络包括网络检查和端口检查。 网络检查 无法正常远程连接Windows实例时,需要先检查网络是否正常。 用其他网络环境中,不同网段或不同运营商)的电脑连接对比测试,判断是本地网络问题还是服务器端的问题。如果是本地网络问题或运营商问题,请联系本地IT人员或运营商解决。如果是网卡驱动存在异常,则重新安装。排除本地网络故障后进行下一步检查。 在客户端使用ping命令测试与实例的网络连通性。 网络异常时,请参考网络异常时如何抓取数据包进行排查。 当出现ping丢包或ping不通时,请参考使用ping命令丢包或不通时的链路测试方法进行排查。 如果出现间歇性丢包,ECS实例的网络一直处于不稳定状态时,请参考使用ping命令测试ECS实例的IP地址间歇性丢包进行解决。 系统内核没有禁ping的情况下,使用ping命令测试ECS服务器,发现网络不通,请参考Linux系统的ECS中没有禁PING却PING不通的解决方法。 端口检查 网络检查正常后,进一步检查端口是否正常。 使用管理终端登录实例,执行如下命令,编辑SSH配置文件。 vi /etc/ssh/sshd_config 找到“#port 22”所在行,检查默认端口22是否被修改,且前面的“#”是否删除,如果没有删除,可以把前面的“#”删除,然后将22改为其它的端口,再保存退出即可。 注:服务监听能使用的端口范围为0到65535,错误配置监听端口会导致远程桌面服务监听失败。 执行如下命令,重启SSH服务。 /etc/init.d/sshd restart 注:也可执行如下命令,重启SSH服务。 service sshd restart 使用Python自带的Web服务器用于临时创建新的监听端口进行测试。 python -m SimpleHTTPServer [$Port] 如果登录方式改变或者ECS安全组规则中未放行修改后的端口号,则参考如下步骤放行修改后的端口。 注:ECS的安全组规则中默认放行22端口。修改了远程桌面的端口后,需要在安全组规则中放行修改后的端口号。 登录ECS管理控制台。 找到该实例,单击 管理 进入 实例详情 页面,切换到 本实例安全组 标签页,单击 配置规则。 在安全组规则页面,单击 添加安全组规则。 在弹出的页面中,端口范围 输入修改后的远程桌面端口号。授权对象 输入客户端的公网IP地址。比如修改后的远程桌面端口号为2222,则 端口范围 应输入“2222/2222”。填写完成后,单击 确定。 通过上一步获取的端口,参考如下命令,进行端口测试,判断端口是否正常。如果端口测试失败,请参考使用ping命令正常但端口不通时的端口可用性探测说明进行排查。 telnet [$IP] [$Port] 注: [$IP]指Linux实例的IP地址。 [$Port]指Linux实例的SSH端口号。 系统显示类似如下,比如执行telnet 192.168.0.1 22命令,正常情况下,系统会返回服务端中SSH的软件版本号。 安全组检查 检查安全组配置,是否允许远程连接的端口。 参考查询安全组规则,查看安全组规则。如果远程连接端口没有进行配置,则参考Linux实例启用SSH服务后设置对应的安全组策略配置。 确认是否存在无法ping通ECS实例,在排除Iptables和网卡IP配置问题且回滚系统后,仍然无法ping通。可能是ECS实例安全组默认的公网规则被删除,则需要重新配置ECS实例的安全组公网规则,具体操作请参见ECS实例安全组默认的公网规则被删除导致无法ping通。如果不存在,则继续下一步骤检查。 示例 如果根据前述问题场景进行排查和处理后,还是无法正常登录。则建议按照如下步骤逐一排查和分析。 使用不同的客户端SSH及管理终端做对比访问测试,判断是否是个别客户端自身配置或软件运行问题所致。 参阅中间网络问题相关说明,测试网络连通性。 参阅管理终端,登录云服务器,在客户端进行访问测试的同时,执行如下命令,查看相关日志。 tailf /var/log/secure 参考如下命令, 比如ssh -v 192.168.0.1 命令,获取Linux环境中详细的SSH登录交互日志。 ssh -v [$IP] 通过管理终端登录Linux实例,参考如下步骤,检查SSH服务运行状态。 执行如下命令,检查服务运行状态。 service sshd status service sshd restart 正常情况下会返回SSH服务的运行状态及进程PID,系统显示类似如下。 [root@centos ~]# service sshd status openssh-daemon (pid 31350) is running... [root@centos ~]# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ] 执行如下命令,检查服务监听状态。 netstat -ano | grep 0.0.0.0:22 正常情况下会返回相应端口监听信息,系统显示类似如下。 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN off (0.00/0/0) 通过管理终端登录Linux实例,执行如下命令。如果能正常登录,则推断是系统防火墙或外部安全组策略等配置异常,导致客户端登录失败。 ssh 127.0.0.1 若用阿里云提供的远程连接功能仍无法成功连接实例,请尝试重启实例。重启操作会使实例停止工作,从而中断业务,请谨慎执行。 提示:重启实例前,需给实例创建快照,用于数据备份或者制作镜像。创建快照的方法请参见创建快照。 登录ECS管理控制台,单击左侧导航栏中的 实例。 在页面顶部的选择对应的地域,在目标实例右侧单击 更多 > 实例状态 > 重启,再单击 确认 即可。

1934890530796658 2020-03-26 09:52:57 0 浏览量 回答数 0

回答

Redis常见的几种主要使用方式: Redis 单副本 Redis 多副本(主从) Redis Sentinel(哨兵) Redis Cluster(集群) Redis 自研 Redis各种使用方式的优缺点: 1 Redis单副本 Redis各种使用方式的优缺点: Redis 多副本,采用主从(replication)部署结构,相较于单副本而言最大的特点就是主从实例间数据实时同步,并且提供数据持久化和备份策略。主从实例部署在不同的物理服务器上,根据公司的基础环境配置,可以实现同时对外提供服务和读写分离策略。 优点: 1、高可靠性,一方面,采用双机主备架构,能够在主库出现故障时自动进行主备切换,从库提升为主库提供服务,保证服务平稳运行。另一方面,开启数据持久化功能和配置合理的备份策略,能有效的解决数据误操作和数据异常丢失的问题。 2、读写分离策略,从节点可以扩展主库节点的读能力,有效应对大并发量的读操作。 缺点: 1、故障恢复复杂,如果没有RedisHA系统(需要开发),当主库节点出现故障时,需要手动将一个从节点晋升为主节点,同时需要通知业务方变更配置,并且需要让其他从库节点去复制新主库节点,整个过程需要人为干预,比较繁琐。 2、主库的写能力受到单机的限制,可以考虑分片 3、主库的存储能力受到单机的限制,可以考虑Pika 4、原生复制的弊端在早期的版本也会比较突出,如:Redis复制中断后,Slave会发起psync,此时如果同步不成功,则会进行全量同步,主库执行全量备份的同时可能会造成毫秒或秒级的卡顿;又由于COW机制,导致极端情况下的主库内存溢出,程序异常退出或宕机;主库节点生成备份文件导致服务器磁盘IO和CPU(压缩)资源消耗;发送数GB大小的备份文件导致服务器出口带宽暴增,阻塞请求。建议升级到最新版本。 使用场景 对 Redis 协议兼容性要求较高的业务 标准版完全兼容 Redis 协议,业务可以平滑迁移。 Redis 作为持久化数据存储使用的业务 标准版提供持久化机制及备份恢复机制,极大地保证数据可靠性。 单个 Redis 性能压力可控 由于 Redis 原生采用单线程机制,性能在10万 QPS 以下的业务建议使用。如果需要更高的性能要求,请选用集群版本。 Redis 命令相对简单,排序、计算类命令较少 由于 Redis 的单线程机制,CPU 会成为主要瓶颈。如排序、计算类较多的业务建议选用集群版配置。 2 Redis多副本(主从) Redis 多副本,采用主从(replication)部署结构,相较于单副本而言最大的特点就是主从实例间数据实时同步,并且提供数据持久化和备份策略。主从实例部署在不同的物理服务器上,根据公司的基础环境配置,可以实现同时对外提供服务和读写分离策略。 优点: 1、高可靠性,一方面,采用双机主备架构,能够在主库出现故障时自动进行主备切换,从库提升为主库提供服务,保证服务平稳运行。另一方面,开启数据持久化功能和配置合理的备份策略,能有效的解决数据误操作和数据异常丢失的问题。 2、读写分离策略,从节点可以扩展主库节点的读能力,有效应对大并发量的读操作。 缺点: 1、故障恢复复杂,如果没有RedisHA系统(需要开发),当主库节点出现故障时,需要手动将一个从节点晋升为主节点,同时需要通知业务方变更配置,并且需要让其他从库节点去复制新主库节点,整个过程需要人为干预,比较繁琐。 2、主库的写能力受到单机的限制,可以考虑分片 3、主库的存储能力受到单机的限制,可以考虑Pika 4、原生复制的弊端在早期的版本也会比较突出,如:Redis复制中断后,Slave会发起psync,此时如果同步不成功,则会进行全量同步,主库执行全量备份的同时可能会造成毫秒或秒级的卡顿;又由于COW机制,导致极端情况下的主库内存溢出,程序异常退出或宕机;主库节点生成备份文件导致服务器磁盘IO和CPU(压缩)资源消耗;发送数GB大小的备份文件导致服务器出口带宽暴增,阻塞请求。建议升级到最新版本。 使用场景 对 Redis 协议兼容性要求较高的业务 标准版完全兼容 Redis 协议,业务可以平滑迁移。 Redis 作为持久化数据存储使用的业务 标准版提供持久化机制及备份恢复机制,极大地保证数据可靠性。 单个 Redis 性能压力可控 由于 Redis 原生采用单线程机制,性能在10万 QPS 以下的业务建议使用。如果需要更高的性能要求,请选用集群版本。 Redis 命令相对简单,排序、计算类命令较少 由于 Redis 的单线程机制,CPU 会成为主要瓶颈。如排序、计算类较多的业务建议选用集群版配置。 3 Redis Sentinel(哨兵) Redis Sentinel是社区版本推出的原生高可用解决方案,Redis Sentinel部署架构主要包括两部分:Redis Sentinel集群和Redis数据集群,其中Redis Sentinel集群是由若干Sentinel节点组成的分布式集群。可以实现故障发现、故障自动转移、配置中心和客户端通知。Redis Sentinel的节点数量要满足2n+1(n>=1)的奇数个。 优点: 1、Redis Sentinel集群部署简单 2、能够解决Redis主从模式下的高可用切换问题 3、很方便实现Redis数据节点的线形扩展,轻松突破Redis自身单线程瓶颈,可极大满足对Redis大容量或高性能的业务需求。 4、可以实现一套Sentinel监控一组Redis数据节点或多组数据节点 缺点: 1、部署相对Redis 主从模式要复杂一些,原理理解更繁琐 2、资源浪费,Redis数据节点中slave节点作为备份节点不提供服务 3、Redis Sentinel主要是针对Redis数据节点中的主节点的高可用切换,对Redis的数据节点做失败判定分为主观下线和客观下线两种,对于Redis的从节点有对节点做主观下线操作,并不执行故障转移。 4、不能解决读写分离问题,实现起来相对复杂 建议: 1、如果监控同一业务,可以选择一套Sentinel集群监控多组Redis数据节点的方案,反之选择一套Sentinel监控一组Redis数据节点的方案 2、sentinel monitor 配置中的 建议设置成Sentinel节点的一半加1,当Sentinel部署在多个IDC的时候,单个IDC部署的Sentinel数量不建议超过(Sentinel数量 – quorum)。 3、合理设置参数,防止误切,控制切换灵敏度控制 quorum down-after-milliseconds 30000 failover-timeout 180000 maxclient timeout 4、部署的各个节点服务器时间尽量要同步,否则日志的时序性会混乱 5、Redis建议使用pipeline和multi-keys操作,减少RTT次数,提高请求效率 6、自行搞定配置中心(zookeeper),方便客户端对实例的链接访问 4 Redis Cluster(集群) Redis Cluster是社区版推出的Redis分布式集群解决方案,主要解决Redis分布式方面的需求,比如,当遇到单机内存,并发和流量等瓶颈的时候,Redis Cluster能起到很好的负载均衡的目的。Redis Cluster集群节点最小配置6个节点以上(3主3从),其中主节点提供读写操作,从节点作为备用节点,不提供请求,只作为故障转移使用。Redis Cluster采用虚拟槽分区,所有的键根据哈希函数映射到0~16383个整数槽内,每个节点负责维护一部分槽以及槽所印映射的键值数据。 优点: 1、无中心架构 2、数据按照slot存储分布在多个节点,节点间数据共享,可动态调整数据分布。 3、可扩展性,可线性扩展到1000多个节点,节点可动态添加或删除。 4、高可用性,部分节点不可用时,集群仍可用。通过增加Slave做standby数据副本,能够实现故障自动failover,节点之间通过gossip协议交换状态信息,用投票机制完成Slave到Master的角色提升。 5、降低运维成本,提高系统的扩展性和可用性。 缺点: 1、Client实现复杂,驱动要求实现Smart Client,缓存slots mapping信息并及时更新,提高了开发难度,客户端的不成熟影响业务的稳定性。目前仅JedisCluster相对成熟,异常处理部分还不完善,比如常见的“max redirect exception”。 2、节点会因为某些原因发生阻塞(阻塞时间大于clutser-node-timeout),被判断下线,这种failover是没有必要的。 3、数据通过异步复制,不保证数据的强一致性。 4、多个业务使用同一套集群时,无法根据统计区分冷热数据,资源隔离性较差,容易出现相互影响的情况。 5、Slave在集群中充当“冷备”,不能缓解读压力,当然可以通过SDK的合理设计来提高Slave资源的利用率。 6、key批量操作限制,如使用mset、mget目前只支持具有相同slot值的key执行批量操作。对于映射为不同slot值的key由于keys 不支持跨slot查询,所以执行mset、mget、sunion等操作支持不友好。 7、key事务操作支持有限,只支持多key在同一节点上的事务操作,当多个key分布于不同的节点上时无法使用事务功能。 8、key作为数据分区的最小粒度,因此不能将一个很大的键值对象如hash、list等映射到不同的节点。 9、不支持多数据库空间,单机下的redis可以支持到16个数据库,集群模式下只能使用1个数据库空间,即db 0。 10、复制结构只支持一层,从节点只能复制主节点,不支持嵌套树状复制结构。 11、避免产生hot-key,导致主库节点成为系统的短板。 12、避免产生big-key,导致网卡撑爆、慢查询等。 13、重试时间应该大于cluster-node-time时间 14、Redis Cluster不建议使用pipeline和multi-keys操作,减少max redirect产生的场景。 使用场景 数据量较大 Redis 集群版可以有效的扩展数据规模,相比标准版支持存储量更大的64、128、256 GB 集群版,可以有效的满足数据扩展需求。 QPS 压力较大 标准版 Redis 无法支撑较大的 QPS,需要采用多节点的部署方式来冲破 Redis 单线程的性能瓶颈。 吞吐密集型应用 相比标准版,Redis 集群版的内网吞吐限制相对较低,针对热点数据读取、大吞吐类型的业务可以友好的支持。 对 Redis 协议不敏感的应用 由于集群版的架构引入了多个组件,在 Redis 协议支持上相比标准版有一定限制。

剑曼红尘 2020-04-27 14:41:57 0 浏览量 回答数 0

回答

概述 本文主要介绍无法远程连接Windows实例的排查方法。 详细信息 阿里云提醒您: 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。 无法远程连接Windows实例的原因较多,可通过以下排查方法,排查并解决无法远程连接Windows实例的问题。 步骤一:使用管理终端登录实例 步骤二:登录密码检查 步骤三:端口及安全组检查 步骤四:远程桌面服务检查 步骤五:网络检查 步骤六:检查CPU负载、带宽及内存使用情况 步骤七:防火墙配置检查 步骤八:系统的安全策略设置 步骤九:远程终端服务的配置检查 步骤十:杀毒软件检查 步骤十一:尝试重启实例 常见报错案例 步骤一:使用管理终端登录实例 无论何种原因导致无法远程连接实例,请先尝试用阿里云提供的远程连接功能进行连接,确认实例还有响应,没有完全宕机,然后再按原因分类进行故障排查。 登录ECS管理控制台,单击左侧导航栏中的 实例,在目标实例右侧单击 远程连接。 在首次连接或忘记连接密码时,单击 修改远程连接密码,修改远程连接的密码。 然后通过远程连接密码连接实例。 步骤二:登录密码检查 在确保登录密码正确的情况下,确认之前是否曾重置过密码。检查重置实例密码后是否未重启实例,如果存在实例密码修改记录,但无重启实例记录,则参考以下操作步骤重启实例。 登录ECS管理控制台,单击左侧导航栏中的 实例。 在页面顶部的选择对应的地域,目标实例右侧单击 更多 > 实例状态 > 重启,再单击 确认 即可。 步骤三:端口及安全组检查 进一步检查端口是否正常,以及安全组规则是否有限制。 参考如何查看和修改Windows实例远程桌面的默认端口,检查实例远程链接的端口是否被修改。如果登录方式改变或者ECS安全组规则中未放行修改后的端口号,则参考如下步骤放行修改后的端口。 注:ECS的安全组规则中默认放行3389端口。修改了远程桌面的端口后,需要在安全组规则中放行修改后的端口号。 登录ECS 管理控制台。 找到该实例,单击 管理 进入 实例详情 页面,切换到 本实例安全组 标签页,单击 配置规则。 在安全组规则页面,单击 添加安全组规则。 在弹出的页面中,端口范围 输入修改后的远程桌面端口号。授权对象 输入客户端的公网IP地址。比如修改后的远程桌面端口号为4389,则 端口范围 应输入“4389/4389”。填写完成后,单击 确定。 通过“IP:端口”的方式进行远程桌面连接。连接方式类似如下。 通过上一步获取的端口,参考如下命令,进行端口测试,判断端口是否正常。如果端口测试失败,请参考使用ping命令正常但端口不通时的端口可用性探测说明进行排查。 telnet [$IP] [$Port] 注: [$IP]指Windows实例的IP地址。 [$Port]指Windows实例的RDP端口号。 系统显示类似如下,比如执行telnet 192.168.0.1 4389命令,正常情况下返回结果类似如下。 Trying 192.168.0.1 ... Connected to 192.168.0.1 4389. Escape character is '^]' 检查Windows远程端口设置是否超出范围,如果超出范围,您需将端口重新修改为0到65535之间,且没有被占用的其它端口,具体操作请参考如下操作。 登录实例,依次选择 开始 > 运行,输入 regedit,然后单击 确认。 打开注册表编辑器,依次选择 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp。 双击 PortNumber,单击 十进制,将原端口由“113322”修改为0到65535之间且不与当前端口冲突的端口,例如5588等端口。 注:“113322”为PortNumber右侧显示的端口号。 再打开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Tenninal Server\WinStations\RDP-Tcp。 双击 PortNumber,单击 十进制,将原端口“113322”修改为与第3步一致的端口号。 然后重启主机,确认远程连接成功。 步骤四:远程桌面服务检查 您可以查看Windows服务器的系统是否开启了远程桌面服务。具体操作如下。 使用控制台远程连接功能登录到Windows实例。 右键单击 我的电脑,选择 属性 > 高级系统设置。 在 系统属性 窗口,选择 远程 选项卡,然后勾选 允许运行任意版本远程桌面的计算机连接 即可。 用户为了提高系统安全性,有时错误的将远程桌面服务所依赖的某些关键服务禁用,导致远程桌面服务异常。可通过以下操作进行检查。 使用控制台远程连接功能登录到Windows实例。 选择 开始 > 运行。 输入msconfig,单击 确定。 在弹出的窗口中,选择 常规 选项卡,选择 正常启动,然后重启服务器即可。 步骤五:网络检查 无法正常远程连接Windows实例时,需要先检查网络是否正常。 用其他网络环境中(不同网段或不同运营商)的电脑连接对比测试,判断是本地网络问题还是服务器端的问题。如果是本地网络问题或运营商问题,请联系本地IT人员或运营商解决。如果是网卡驱动存在异常,则重新安装。排除本地网络故障后进行下一步检查。 在客户端使用ping命令测试与实例的网络连通性。 网络异常时,请参考网络异常时如何抓取数据包进行排查。 当出现ping丢包或ping不通时,请参考使用ping命令丢包或不通时的链路测试方法进行排查。 如果出现间歇性丢包,ECS实例的网络一直处于不稳定状态时,请参考使用ping命令测试ECS实例的IP地址间歇性丢包进行解决。 在实例中使用ping命令测试与客户端的连通性,提示“一般故障”的错误,请参考Windows实例ping外网地址提示“一般故障”进行解决。 步骤六:检查CPU负载、带宽及内存使用情况 确认是否存在CPU负载过高的情况,如果存在,则参考本步骤解决问题,如果不存在,则执行下一步步骤。 检查CPU负载过高时,通过实例详情页面的终端登录实例,检查后台是否正在执行Windows Update操作。 运行Windows Update来安装最新的微软安全补丁。 若应用程序有大量的磁盘访问、网络访问行为、高计算需求,CPU负载过高是正常结果。您可以尝试升配实例规格来解决资源瓶颈问题。 CPU负载过高的解决方法请参见Windows系统ECS实例的CPU使用率较高的解决方法。 无法远程连接可能是公网带宽不足导致的,具体排查方法如下。可通过续费ECS实例,然后重启实例解决。详情参见手动续费或者自动续费。 登录ECS管理控制台。 找到该实例, 单击 管理 进入 实例详情 页面,查看网络监控数据。 检查服务器带宽是否为“1k”或“0k”。如果购买实例时没有购买公网带宽,后来升级了公网带宽,续费的时候没有选择续费带宽,带宽就会变成“1k”。 远程连接输入用户密码登录后,不能正常显示桌面直接退出,也没有错误信息。这种情况可能是服务器内存不足导致的,需要查看一下服务器的内存使用情况。具体操作如下。 使用控制台远程连接功能登录到Windows实例。 选择 开始 > 控制面板 > 管理工具,双击 事件查看器。查看一下是否有内存资源不足的警告日志信息。如有日志信息提示内存不足,具体解决方法参考Windows 虚拟内存不足问题的处理。 步骤七:防火墙配置检查 您只有在已授权可关闭防火墙的情况下,才能进行该项排查。确认防火墙是否已关闭,如果没有关闭,则通过调整防火墙配置策略修复,具体操作请参见如何配置Windows实例远程连接的防火墙。完成操作后,请再进行远程连接,确认连接成功。本文以Windows Server 2012初次登录开启防火墙为例。新购的Windows 2012实例,首次连接服务器是可以的。连接服务器并激活系统后,会提示如下图片中的信息,用户需要单击 是,如果单击 否,服务器会自动开启公网的防火墙,连接会直接断开。此问题可参考以下步骤进行解决。 使用控制台远程连接功能登录到Windows实例。 在菜单栏选择 开始 > 控制面板 。 查看方式 选择 小图标,单击 Windows 防火墙。 在 Windows 防火墙 窗口,单击 高级设置。 在弹出的窗口中,单击 入站规则,在右侧拉至最下方,右键单击 远程桌面-用户模式(TCP-In),选择 启动规则。 返回上一个页面, 单击 Windows 防火墙属性。 选择 启用(推荐),单击 应用。 注意:建议将 域配置文件、专用配置文件、公用配置文件 选项卡下的防火墙全部启用。 更多关于防火墙的设置,请参考设置Windows实例远程连接防火墙。 步骤八:系统的安全策略设置 您可以查看Windows服务器上是否有阻止远程桌面连接的相关安全策略。具体操作如下。 使用控制台远程连接功能登录到Windows实例。 选择 开始 > 控制面板 > 管理工具,双击 本地安全策略。 在弹出的窗口中,单击 IP 安全策略,查看是否有相关的安全策略。 如果有,右键单击相关策略,选择 删除,或双击该IP的安全策略来重新配置以允许远程桌面连接。然后再使用远程桌面连接。 步骤九:远程终端服务的配置检查 无法连接Windows实例远程桌面可能是由于以下远程终端服务的配置异常而导致。 异常一:服务器侧自签名证书损坏 客户端如果是Windows 7以上版本的系统,会尝试与服务器建立TLS连接。若服务器侧用于TLS连接的自签名证书损坏,则会导致远程连接失败。 使用控制台远程连接功能登录到Windows实例。 选择 开始 > 管理工具 > 远程桌面服务,然后双击 远程桌面会话主机配置。 选择 RDP-Tcp。在RDP-Tcp属性窗口,将 安全层 修改成 RDP安全层。 在操作栏单击 禁用连接,再单击 启用连接 即可。 异常二:远程桌面会话主机配置连接被禁用 使用netstat命令查询,发现端口未正常监听。使用控制台远程连接功能登录到Windows实例后,发现远程桌面RDP连接属性配置文件被禁用。参考服务器侧自签名证书损坏找到RDP连接属性配置文件,如果 RDP-Tcp 被禁用,单击 启用连接 即可。 异常三:终端服务器角色配置 用户在使用远程桌面访问Windows实例时,有时会出现如下提示。这种情况一般是由于在服务器上安装配置了 终端服务器,但是没有配置有效的访问授权导致的。可参见如下两个解决方案处理。 Windows服务器远程桌面提示“没有远程桌面授权服务器可以提供许可证”错误 远程登录Windows实例报“远程桌面用户组没有该权限”错误 步骤十:杀毒软件检查 无法连接远程桌面可能是由于第三方杀毒软件设置导致,可通过以下方法进行解决。此处列举两个安全狗配置导致远程访问失败的解决案例。 如果杀毒软件在后台执行,可通过实例详情页面的终端登录,将杀毒软件升级至最新版本或者直接删除。 请使用商业版杀毒软件,或者使用Microsoft Safety Scanner微软免费安全工具,在安全模式下扫描杀毒,相关信息请访问如下链接。 https://www.microsoft.com/security/scanner/zh-cn/default.aspx 案例一:安全狗黑名单拦截 如果安装了安全狗后,出现如下情况,请确认防护软件中是否做了安全设置或对应的拦截。 客户端本地无法远程桌面连接Windows实例,但其他区域可以远程连接。 无法ping通服务器IP地址,且通过tracert命令跟踪路由,发现无法到达服务器。 云盾未拦截本地公网IP地址。 可打开 服务器安全狗 进行检查,选择 网络防火墙。单击 超级黑名单 的 规则设置,如果黑名单中存在实例公网IP,则将此黑名单规则删除,然后将公网IP添加到 超级白名单。 说明:如果云盾的阈值设置过低,则可能拦截实例公网IP。建议把清洗阈值调高,避免出现拦截实例公网IP的情况发生,具体请参见DDoS基础防护。 案例二:安全狗程序异常 使用控制台远程连接功能登录到Windows实例后,在系统桌面右下角,安全狗弹出错误提示,系统显示类似如下。该问题可能是由于安全狗软件出现异常导致的。可通过Windows系统卸载安全狗软件后,重启服务器,网络即可恢复。 步骤十一:尝试重启实例 若用阿里云提供的远程连接功能仍无法成功连接实例,请尝试重启实例。重启操作会使实例停止工作,从而中断业务,请谨慎执行。 提示:重启实例前,需给实例创建快照,用于数据备份或者制作镜像。创建快照的方法请参见创建快照。 登录ECS 管理控制台,单击左侧导航栏中的 实例。 在页面顶部的选择对应的地域,在目标实例右侧单击 更多 > 实例状态 > 重启,再单击 确认 即可。

1934890530796658 2020-03-25 22:43:56 0 浏览量 回答数 0

问题

DRDS 错误代码如何解决?

猫饭先生 2019-12-01 21:21:21 7993 浏览量 回答数 0

回答

概述 当客户端访问目标服务器出现ping丢包或ping不通时,可以通过tracert或mtr等工具进行链路测试来判断问题根源。本文介绍如何通过工具进行链路测试和分析。 详细信息 阿里云提醒您: 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。 本文分别介绍如下链路测试方法。 链路测试工具 测试结果的简要分析 常见的链路异常场景 链路测试步骤 测试完成后的解决方法 链路测试工具 操作系统类型不同,链路测试所使用的工具也有所不同。简要介绍如下。 Linux系统 此处简单介绍两个链路测试工具。 工具一:mtr命令 mtr(My traceroute)几乎是所有Linux发行版本预装的网络测试工具。其将ping和traceroute的功能合并,所以功能更强大。mtr默认发送ICMP数据包进行链路探测。您也可以通过“-u”参数来指定使用UDP数据包进行探测。相对于traceroute只会做一次链路跟踪测试,mtr会对链路上的相关节点做持续探测并给出相应的统计信息。所以,mtr能避免节点波动对测试结果的影响,所以其测试结果更正确,建议优先使用。 用法说明 mtr [-BfhvrwctglxspQomniuT46] [--help] [--version] [--report] [--report-wide] [--report-cycles=COUNT] [--curses] [--gtk] [--csv|-C] [--raw] [--xml] [--split] [--mpls] [--no-dns] [--show-ips] [--address interface] [--filename=FILE|-F] [--ipinfo=item_no|-y item_no] [--aslookup|-z] [--psize=bytes/-s bytes] [--order fields] [--report-wide|-w] [--inet] [--inet6] [--max-ttl=NUM] [--first-ttl=NUM] [--bitpattern=NUM] [--tos=NUM] [--udp] [--tcp] [--port=PORT] [--timeout=SECONDS] [--interval=SECONDS] HOSTNAME 常见可选参数说明 --report:以报告模式显示输出。 --split:将每次追踪的结果分别列出来,而非统计整个结果。 --psize:指定ping数据包的大小。 --no-dns:不对IP地址做域名反解析。 --address:主机有多个IP地址时,设置发送数据包的IP地址。 -4:只使用IPv4协议。 -6:只使用IPv6协议。 另外,也可以在mtr运行过程中,输入类似如下的字母来快速切换模式。 ?或h:显示帮助菜单。 d:切换显示模式。 n:启用或禁用DNS域名解析。 u:切换使用ICMP或UDP数据包进行探测。 命令输出示例 返回结果说明 默认配置下,返回结果中各数据列的说明如下。 第一列(Host):节点IP地址和域名。按 n 键可切换显示。 第二列(Loss%):节点丢包率。 第三列(Snt):每秒发送数据包数。默认值是10,可以通过“-c”参数指定。 第四列(Last):最近一次的探测延迟。 第五、六、七列(Avg、Best、Worst):分别是探测延迟的平均值、最小值和最大值。 第八列(StDev):标准偏差。越大说明相应节点越不稳定。 工具二:traceroute命令 traceroute也是几乎所有Linux发行版本预装的网络测试工具,用于跟踪Internet协议(IP)数据包传送到目标地址时经过的路径。traceroute先发送小的具有最大存活时间值(Max_TTL)的UDP探测数据包,然后侦听从网关开始的整个链路上的ICMP TIME_EXCEEDED响应。探测从TTL=1开始,TTL值逐步增加,直至接收到ICMP PORT_UNREACHABLE消息。ICMP PORT_UNREACHABLE消息用于标识目标主机已经被定位,或命令已经达到允许跟踪的最大TTL值。traceroute默认发送UDP数据包进行链路探测。可以通过“-I”参数来指定使用ICMP数据包进行探测。 用法说明 traceroute [-I] [ -m Max_ttl ] [ -n ] [ -p Port ] [ -q Nqueries ] [ -r ] [ -s SRC_Addr ] [ -t TypeOfService ] [ -f flow ] [ -v ] [ -w WaitTime ] Host [ PacketSize ] 常见可选参数说明 -d:使用Socket层级的排错功能。 -f:设置第一个检测数据包的存活数值TTL的大小。 -F:设置不要分段标识。 -g:设置来源路由网关,最多可设置8个。 -i:主机有多个网卡时,使用指定的网卡发送数据包。 -I:使用ICMP数据包替代UDP数据包进行探测。 -m:设置检测数据包的最大存活数值TTL的大小。 -n:直接使用IP地址而非主机名称(禁用DNS反查)。 -p:设置UDP传输协议的通信端口。 -r:忽略普通的Routing Table,直接将数据包发送到目标主机上。 -s:设置本地主机发送数据包的IP地址。 -t:设置检测数据包的TOS数值。 -v:详细显示指令的执行过程。 -w:设置等待远端主机回包时间。 -x:开启或关闭数据包的正确性检验。 命令输出示例 Windows系统 此处简单介绍两个链路测试工具。 工具一:WinMTR(建议优先使用) WinMTR是mtr工具在Windows环境下的图形化实现,但进行了功能简化,只支持部分mtr的参数。WinMTR默认发送ICMP数据包进行探测,无法切换。和mtr一样,相比tracert,WinMTR能避免节点波动对测试结果的影响,所以测试结果更正确。所以在WinMTR可用的情况下,建议优先使用WinMTR进行链路测试。 用法说明 WinMTR无需安装,直接解压运行即可。操作方法非常简单,说明如下。 如下图所示,运行程序后,在 Host 字段输入目标服务器域名或IP,注意不要包含空格。 单击 Start 开始测试。开始测试后,相应按钮变成了 Stop。 运行一段时间后,单击 Stop 停止测试。 其它选项说明如下。 Copy Text to clipboard:将测试结果以文本格式复制到粘贴板。 Copy HTML to clipboard:将测试结果以HTML格式复制到粘贴板。 Export TEXT:将测试结果以文本格式导出到指定文件。 Export HTML:将测试结果以HTML格式导出到指定文件。 Options:可选参数,包括的可选参数如下。 Interval(sec):每次探测的间隔(过期)时间。默认为1秒。 ping size(bytes):ping探测所使用的数据包大小,默认为64字节。 Max hosts in LRU list:LRU列表支持的最大主机数,默认值为128。 Resolve names:通过反查IP地址,以域名显示相关节点。 返回结果说明 默认配置下,返回结果中各数据列的说明如下。 第一列(Hostname):节点的IP或域名。 第二列(Nr):节点编号。 第三列(Loss%):节点丢包率。 第四列(Sent):已发送的数据包数量。 第五列(Recv):已成功接收的数据包数量。 第六、七、八、九列(Best 、Avg、Worst、Last):分别是到相应节点延迟的最小值、平均值、最大值和最后一次值。 工具二:tracert命令行工具 tracert(Trace Route)是Windows自带的网络诊断命令行程序,用于跟踪Internet协议(IP)数据包传送到目标地址时经过的路径。 tracert通过向目标地址发送 ICMP 数据包来确定到目标地址的路由。在这些数据包中,tracert使用了不同的IP“生存期”,即TTL值。由于要求沿途的路由器在转发数据包前必须至少将TTL减少1,因此TTL实际上相当于一个跃点计数器(hop counter)。当某个数据包的TTL达到0时,相应节点就会向源计算机发送一个ICMP超时的消息。 tracert第一次发送TTL为1的数据包,并在每次后续传输时将TTL增加1,直到目标地址响应或达到TTL的最大值。中间路由器发送回来的ICMP超时消息中包含了相应节点的信息。 用法说明 tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name 常见可选参数说明 -d:不要将地址解析为主机名(禁用DNS反解)。 -h:maximum_hops,指定搜索目标地址时的最大跃点数。 -j: host-list,指定沿主机列表的松散源路由。 -w:timeout,等待每个回复的超时时间(以毫秒为单位)。 -R:跟踪往返行程路径(仅适用于IPv6)。 -S:srcaddr,要使用的源地址(仅适用于IPv6)。 -4:强制使用IPv4。 -6:强制使用IPv6。 target_host:目标主机域名或IP地址。 命令输出示例 C:> tracert -d 223.5.5.5 通过最多 30 个跃点跟踪到 223.5.5.5 的路由 1 请求超时。 2 9 ms 3 ms 12 ms 192.168.X.X 3 4 ms 9 ms 2 ms X.X.X.X 4 9 ms 2 ms 1 ms XX.XX.XX.XX 5 11 ms 211.XX.X.XX 6 3 ms 2 ms 2 ms 2XX.XX.1XX.XX 7 2 ms 2 ms 1 ms 42.XX.2XX.1XX 8 32 ms 4 ms 3 ms 42.XX.2XX.2XX 9 请求超时。 10 3 ms 2 ms 2 ms 223.5.5.5 跟踪完成。 测试结果的简要分析 由于mtr(WinMTR)有更高的准确性,本文以其测试结果为例,参考如下要点进行分析。此处分析时以如下示例图为基础。 要点一:网络区域 正常情况下,从客户端到目标服务器的整个链路中会包含如下区域。 客户端本地网络,即本地局域网和本地网络提供商网络。如上图中的区域A。如果该区域出现异常,并且是客户端本地网络中的节点出现异常,则需要对本地网络进行相应的排查分析。如果是本地网络提供商网络出现异常,则需要向当地运营商反馈问题。 运营商骨干网络。如上图中的区域B。如果该区域出现异常,可以根据异常节点的IP查询其所属的运营商,直接向对应运营商进行反馈,或者通过阿里云技术支持,向运营商进行反馈。 目标服务器本地网络,即目标服务器所属提供商的网络。如上图中的区域C。如果该区域出现异常,需要向目标服务器所属的网络运营商反馈问题。 要点二:链路负载均衡 如上图中的区域D。如果中间链路某些部分启用了链路负载均衡,则mtr只会对首尾节点进行编号和探测统计。中间节点只会显示相应的IP或域名信息。 要点三:结合Avg(平均值)和StDev(标准偏差)综合判断 由于链路抖动或其它因素的影响,节点的Best和Worst值可能相差很大。Avg统计了自链路测试以来所有探测的平均值,所以能更好的反应出相应节点的网络质量。而StDev越高,则说明数据包在相应节点的延时值越不相同,即越离散。所以标准偏差值可用于协助判断Avg是否真实反应了相应节点的网络质量。例如,如果标准偏差很大,说明数据包的延迟是不确定的。可能某些数据包延迟很小,例如25ms,而另一些延迟却很大,例如350ms,但最终得到的平均延迟反而可能是正常的。所以,此时Avg并不能很好的反应出实际的网络质量情况。 综上,建议的分析标准如下。 如果StDev很高,则同步观察相应节点的Best和Worst,来判断相应节点是否存在异常。 如果StDev不高,则通过Avg来判断相应节点是否存在异常。 注:上述StDev高或者不高,并没有具体的时间范围标准。而需要根据同一节点其它列的延迟值大小来进行相对评估。比如,如果Avg为30ms,那么,当StDev为25ms,则认为是很高的偏差。而如果Avg为325ms,则StDev同样为25ms,反而认为是不高的偏差。 要点四:Loss%(丢包率)的判断 任一节点的Loss%(丢包率)如果不为零,则说明这一跳网络可能存在问题。导致相应节点丢包的原因通常有如下两种。 运营商基于安全或性能需求,限制了节点的ICMP发送速率,导致丢包。 节点确实存在异常,导致丢包。 结合异常节点及其后续节点的丢包情况,并参考如下内容,判定丢包原因。 如果随后节点均没有丢包,则通常表示异常节点丢包是由于运营商策略限制所致。可以忽略相关丢包。如上图中的第2跳所示。 如果随后节点也出现丢包,则通常说明异常节点确实存在网络异常,导致丢包。如上图中的第5跳所示。 另外,上述两种情况可能同时发生,即相应节点既存在策略限速,又存在网络异常。对于这种情况,如果异常节点及其后续节点连续出现丢包,而且各节点的丢包率不同,则通常以最后几跳的丢包率为准。如上图所示,在第 5、6、7跳均出现了丢包。所以,最终丢包情况,以第7跳的40%作为参考。 要点五:关于延迟 关于延迟,有如下两种场景。 场景一:延迟跳变 如果在某一跳之后延迟明显陡增,则通常判断该节点存在网络异常。如上图所示,从第5跳之后的后续节点延迟明显陡增,则推断是第5跳节点出现了网络异常。不过,高延迟并不一定完全意味着相应节点存在异常。如上图所示,第5跳之后,虽然后续节点延迟明显陡增,但测试数据最终仍然正常到达了目的主机。所以,延迟大也有可能是在数据回包链路中引发的。所以,需要结合反向链路测试一并分析。 场景二:ICMP限速导致延迟增加 ICMP策略限速也可能会导致相应节点的延迟陡增,但后续节点通常会恢复正常。如上图所示,第3跳有100%的丢包率,同时延迟也明显陡增。但随后节点的延迟马上恢复了正常。所以判断该节点的延迟陡增及丢包是由于策略限速所致。 常见的链路异常场景 常见的链路异常场景及测试报告如下。 场景一:目标主机网络配置不当 示例数据如下。 [root@mycentos6 ~]# mtr —no-dns www.google.com My traceroute [v0.75] mycentos6.6 (0.0.0.0) Wed Jun 15 19:06:29 2016 Keys: Help Display mode Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. ??? 2. ??? 3. 1XX.X.X.X 0.0% 10 521.3 90.1 2.7 521.3 211.3 4. 11X.X.X.X 0.0% 10 2.9 4.7 1.6 10.6 3.9 5. 2X.X.X.X 80.0% 10 3.0 3.0 3.0 3.0 0.0 6. 2X.XX.XX.XX 0.0% 10 1.7 7.2 1.6 34.9 13.6 7. 1XX.1XX.XX.X 0.0% 10 5.2 5.2 5.1 5.2 0.0 8. 2XX.XX.XX.XX 0.0% 10 5.3 5.2 5.1 5.3 0.1 9. 173.194.200.105 100.0% 10 0.0 0.0 0.0 0.0 0.0 在该示例中,数据包在目标地址出现了100%的丢包。从数据上看是数据包没有到达,其实很有可能是目标服务器相关安全策略(比如防火墙、iptables 等)禁用了ICMP所致,导致目的主机无法发送任何应答。所以,该场景需要排查目标服务器的安全策略配置。 场景二:ICMP限速 示例数据如下。 [root@mycentos6 ~]# mtr --no-dns www.google.com My traceroute [v0.75] mycentos6.6 (0.0.0.0) Wed Jun 15 19:06:29 2016 Keys: Help Display mode Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. 63.247.X.X 0.0% 10 0.3 0.6 0.3 1.2 0.3 2. 63.247.X.XX 0.0% 10 0.4 1.0 0.4 6.1 1.8 3. 209.51.130.213 0.0% 10 0.8 2.7 0.8 19.0 5.7 4. aix.pr1.atl.google.com 0.0% 10 6.7 6.8 6.7 6.9 0.1 5. 72.14.233.56 60.0% 10 27.2 25.3 23.1 26.4 2.9 6. 209.85.254.247 0.0% 10 39.1 39.4 39.1 39.7 0.2 7. 64.233.174.46 0.0% 10 39.6 40.4 39.4 46.9 2.3 8. gw-in-f147.1e100.net 0.0% 10 39.6 40.5 39.5 46.7 2.2 在该示例中,在第5跳出现了明显的丢包,但后续节点均未见异常。所以推断是该节点ICMP限速所致。该场景对最终客户端到目标服务器的数据传输不会有影响,所以,分析的时候可以忽略。 场景三:环路 示例数据如下。 [root@mycentos6 ~]# mtr —no-dns www.google.com My traceroute [v0.75] mycentos6.6 (0.0.0.0) Wed Jun 15 19:06:29 2016 Keys: Help Display mode Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. 63.247.7X.X 0.0% 10 0.3 0.6 0.3 1.2 0.3 2. 63.247.6X.X 0.0% 10 0.4 1.0 0.4 6.1 1.8 3. 209.51.130.213 0.0% 10 0.8 2.7 0.8 19.0 5.7 4. aix.pr1.atl.google.com 0.0% 10 6.7 6.8 6.7 6.9 0.1 5. 72.14.233.56 0.0% 10 0.0 0.0 0.0 0.0 0.0 6. 72.14.233.57 0.0% 10 0.0 0.0 0.0 0.0 0.0 7. 72.14.233.56 0.0% 10 0.0 0.0 0.0 0.0 0.0 8. 72.14.233.57 0.0% 10 0.0 0.0 0.0 0.0 0.0 9 ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 在该示例中,数据包在第5跳之后出现了循环跳转,导致最终无法到达目标服务器。这通常是由于运营商相关节点路由配置异常所致。所以,该场景需要联系相应节点归属运营商处理。 场景四:链路中断 示例数据如下。 [root@mycentos6 ~]# mtr —no-dns www.google.com My traceroute [v0.75] mycentos6.6 (0.0.0.0) Wed Jun 15 19:06:29 2016 Keys: Help Display mode Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. 63.247.7X.X 0.0% 10 0.3 0.6 0.3 1.2 0.3 2. 63.247.6X.X 0.0% 10 0.4 1.0 0.4 6.1 1.8 3. 209.51.130.213 0.0% 10 0.8 2.7 0.8 19.0 5.7 4. aix.pr1.atl.google.com 0.0% 10 6.7 6.8 6.7 6.9 0.1 5. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 6. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 7. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 8. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 9 ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 在该示例中,数据包在第4跳之后就无法收到任何反馈。这通常是由于相应节点中断所致。建议结合反向链路测试做进一步确认。该场景需要联系相应节点归属运营商处理。 链路测试步骤 通常情况下,链路测试步骤如下图所示。 相关步骤的详情说明如下。 步骤一:获取本地网络对应的公网IP 在客户端本地网络内访问淘宝IP地址库,获取本地网络对应的公网IP地址。 步骤二:正向链路测试(ping和mtr) 从客户端向目标服务器做如下测试。 从客户端向目标服务器域名或IP做持续的ping测试,建议至少ping 100个数据包,记录测试结果。 根据客户端操作系统的不同,使用WinMTR或mtr,设置测试目的地址为目标服务器域名或IP,然后进行链路测试,记录测试结果。 步骤三:反向链路测试(ping和mtr) 进入目标服务器系统内部做如下测试。 从目标服务器向步骤一获取的客户端IP做持续的ping测试,建议至少ping 100个数据包,记录测试结果。 根据目标服务器操作系统的不同,使用WinMTR或mtr,设置测试目的地址为客户端的IP地址,然后进行链路测试,记录测试结果。 步骤四:测试结果分析 参阅测试结果的简要分析,对测试结果进行分析。确认异常节点后,访问如下链接或其他可以查询IP归属地的网站,获取该异常节点的归属运营商信息。如果是客户端本地网络相关节点出现异常,则需要对本地网络进行相应排查分析。如果是运营商相关节点出现异常,则需要向运营商反馈问题。查询结果类似如下。 测试完成后的解决方法 当出现ping丢包或ping不通时,首先请参考云服务器ECS网络故障诊断,排查是否为网络故障。 如果确认是因系统中病毒导致使用ping命令测试ECS实例的IP地址间歇性丢包,则可参考使用ping命令测试ECS实例的IP地址间歇性丢包进行处理。 如果是因删除ECS实例的默认安全组规则导致无法ping通ECS实例,可参考删除ECS实例的默认安全组规则导致无法ping通ECS实例进行处理。 如果在Linux系统内核没有禁PING的情况下,是因系统内部防火墙策略设置导致ECS服务器PING不通。可参考Linux系统的ECS中没有禁PING却PING不通的解决方法。

1934890530796658 2020-03-25 23:17:54 0 浏览量 回答数 0

问题

为什么对基础设施的监控变得如此重要?

忆远0711 2019-12-01 21:46:44 8511 浏览量 回答数 1

回答

详细解答可以参考官方帮助文档本服务条款是阿里云计算有限公司(以下简称“阿里云”)与您就云盾DDoS防护服务的相关事项所订立的有效合约。您通过盖章、网络页面点击确认或以其他方式选择接受本服务条款,或实际使用阿里云提供的云盾DDoS防护服务,即表示您与阿里云已达成协议并同意接受本服务条款的全部约定内容。如若双方盖章文本与网络页面点击确认或以其他方式选择接受之服务条款文本,存有不一致之处,以双方盖章文本为准。 在接受本服务条款之前,请您仔细阅读本服务条款的全部内容(特别是以粗体及/或下划线标注的内容)。如果您对本服务条款的条款有疑问的,请通过阿里云官网(www.aliyun.com)公布的联系方式,进行询问,阿里云将向您解释条款内容。如果您不同意本服务条款的任意内容,或者无法准确理解阿里云对条款的解释,请不要进行后续操作。 1 定义 1.1 本条款中的“您”是指:所有使用阿里云云盾DDoS防护服务的主体(包括但不限于个人、团队、公司、组织等),或称“用户”。 1.2 本条款中“服务”指:阿里云向您提供 www.aliyun.com 网站上所展示的云盾DDoS防护服务以及相关的技术及网络支持服务。 1.3 DDoS: Distributed Denial of Service,即分布式拒绝服务攻击,在云端该攻击表现为,通过仿冒大量的正常服务请求来阻止用户访问其在云端数据、应用程序或网站。 1.4 清洗:本服务对进入用户的数据流量进行实时监控,及时发现包括DDoS攻击在内的异常流量。在不影响正常业务的前提下,清洗掉异常流量, 即将可疑流量从原始网络路径中重定向到净化产品上进行恶意流量的识别和剥离,还原出的合法流量回注到原网络中转发给目标系统。 1.5 DDoS防护服务:基于流量清洗、黑洞技术等方式为用户提供的DDoS攻击防护服务,用户在购买了对应流量峰值的DDoS防护服务套餐后,在被DDoS攻击时,且未超过流量峰值的情况下,用户的云服务器可正常运行。 1.6 触发清洗阈值:指的是触发流量清洗所需要的最低值,包括每秒流量,每秒报文数量,每秒HTTP请求数三个触发清洗的阈值,用户云服务器的流量超过三个中的任意一个,都会触发清洗。 1.7 流量峰值:指某一段时间内云服务器产生的流量最大值。 2 服务费用 2.1 阿里云将在阿里云官网公布云盾DDoS防护服务的计费模式、价格体系等信息。具体计费规则请您查看 www.aliyun.com 上的页面公告,且按照页面公布的当时有效的计费模式与标准为准。 2.2 在您付费之后,阿里云才开始为您提供服务。您未在下单后7天内付费的,本服务条款以及与您就服务所达成的一切行为失效。 2.3 服务期满双方愿意继续合作的,您至少应在服务期满前7天前支付续费款项,以使服务得以继续进行。如续费时阿里云对产品体系、名称或价格进行调整的,双方同意按照届时有效的新的产品体系、名称或价格履行。 2.4 阿里云保留在您未按照约定支付全部费用之前不向您提供服务和/或技术支持,或者终止服务和/或技术支持的权利,同时,阿里云保留对后付费服务中的欠费行为追究法律责任的权利。 2.5 您理解并同意,阿里云有权根据经营情况,不定期的对云盾DDoS防护服务的产品体系、名称或价格、计费模式等进行调整。阿里云将尽合理范围内的最大努力,将前述调整及变化,通过官网公告、站内通知等方式提前告知您,或提前发送至您预留的联系方式。 2.6 阿里云有权根据其自身业务推广的需要不时推出优惠活动,您完全理解,所有的优惠活动以及业务推广服务都是阿里云提供的一次性特别优惠,优惠内容不包括赠送服务项目的修改、更新及维护费用,并且赠送服务项目不可折价冲抵服务价格。 3 权利义务 3.1 您的权利、义务 3.1.1 您同意遵守本服务条款以及服务展示页面的相关管理规范及流程。您了解上述协议及规范等的内容可能会不时变更。如本服务条款的任何内容发生变动,阿里云应通过提前30天在 www.aliyun.com 的适当版面公告向您提示修改内容。如您不同意阿里云对本服务条款所做的修改,您有权停止使用阿里云的服务,此等情况下,阿里云应与您进行服务费结算(如有),并且您应将业务迁出。如您继续使用阿里云服务,则视为您接受阿里云对本服务条款相关条款所做的修改。 3.1.2 您应按照阿里云的页面提示及本服务条款的约定支付相应服务费用。 3.1.3 您承诺: 3.1.3.1 不利用本服务从事DDoS防护、DNS防护等防护售卖业务; 3.1.3.2 不得将云盾DDoS防护服务各个部分分开用于任何目的; 3.1.3.3 除阿里云明示许可外,不得修改、翻译、改编、出租、转许可、在信息网络上传播或转让阿里云提供的软件,也不得逆向工程、反编译或试图以其他方式发现阿里云提供的软件的源代码; 3.1.3.4 若阿里云的服务涉及第三方软件之许可使用的,您同意遵守相关的许可协议的约束; 3.1.3.5 您利用云盾DDoS防护服务进行防护的业务须为正常的商业、科研等符合国家法律规定的业务,不得用于从事任何非法业务,包括但不限于: 3.1.3.5.1 违反国家规定的政治宣传和/或新闻; 3.1.3.5.2 涉及国家秘密和/或安全; 3.1.3.5.3 封建迷信和/或淫秽、色情和/或教唆犯罪; 3.1.3.5.4 博彩有奖、赌博游戏、“私服”、“外挂”等非法互联网出版活动; 3.1.3.5.5 违反国家民族和宗教政策; 3.1.3.5.6 妨碍互联网运行安全; 3.1.3.5.7 侵害他人合法权益和/或其他有损于社会秩序、社会治安、公共道德的活动; 3.1.3.5.8 其他违反法律法规、部门规章或国家政策的内容。 3.1.3.6 不建立或利用有关设备、配置运行与所购服务无关的程序或进程,或者故意编写恶意代码导致大量占用阿里云云计算资源(如云盾DDoS防护服务、网络带宽、存储空间等)所组成的平台(以下简称“云平台”)中的服务器内存、CPU或者网络带宽资源,给阿里云云平台或者阿里云的其他用户的网络、服务器(包括但不限于本地及外地和国际的网络、服务器等)、产品/应用等带来严重的负荷,影响阿里云与国际互联网或者阿里云与特定网络、服务器及阿里云内部的通畅联系,或者导致阿里云云平台产品与服务或者阿里云的其他用户网站所在的服务器宕机、死机或者用户基于云平台的产品/应用不可访问等; 3.1.3.7 不进行任何破坏或试图破坏网络安全的行为(包括但不限于钓鱼,黑客,网络诈骗,网站或空间中含有或涉嫌散播:病毒、木马、恶意代码,及通过虚拟服务器对其他网站、服务器进行涉嫌攻击行为如扫描、嗅探、ARP欺骗、DDoS等); 3.1.3.8 不进行任何改变或试图改变阿里云提供的系统配置或破坏系统安全的行为; 3.1.3.9 不利用阿里云提供的服务从事损害阿里云、阿里云的关联公司或阿里巴巴集团内包括但不限于阿里巴巴、淘宝、支付宝、阿里妈妈、阿里金融等(以下统称为阿里巴巴公司)各公司、网站合法权益之行为,前述损害阿里巴巴公司、网站合法权益的行为包括但不限于违反阿里巴巴公司公布的任何服务协议/条款、管理规范、交易规则等规范内容、破坏或试图破坏阿里巴巴公司公平交易环境或正常交易秩序等; 3.1.3.10 不从事其他违法、违规或违反阿里云服务条款的行为; 3.1.3.11 如阿里云发现您违反上述条款的约定,有权根据情况采取相应的处理措施,包括但不限于立即中止服务、终止服务等。如因您违反上述保证而给阿里云(包括阿里云关联公司)或阿里云合作伙伴造成损失的,您还应自行承担一切法律责任并赔偿损失; 3.1.3.12 如果第三方机构或个人对您提出质疑或投诉,阿里云将通知您,您有责任在规定时间内进行说明并出具证明材料,如您未能提供相反证据或您逾期未能反馈的,阿里云将采取包括但不限于立即中止服务或终止服务等处理措施。因您未及时更新联系方式或联系方式不正确而致使未能联系到您的,亦视为您逾期未能反馈; 3.1.3.13 阿里云依据第3.1.3.11条、第3.1.3.12条对您采取了中止服务、终止服务等措施而给您造成任何损失的,阿里云不承担任何责任。 3.1.4 您不应在阿里云服务或平台之上安装、使用盗版软件;您对自己行为(如自行安装的软件和进行的操作)所引起的结果承担全部责任。 3.1.5 您对自己存放在阿里云云平台上的数据以及进入和管理阿里云云平台上各类产品与服务的口令、密码的完整性和保密性负责。因您维护不当或保密不当或操作不当致使上述数据、口令、密码等丢失或泄漏所引起的一切损失和后果均由您自行承担。 3.1.6 您应向阿里云提交执行本服务条款的联系人和管理用户网络及云平台上各类产品与服务的人员名单和联系方式并提供必要的协助。如以上人员发生变动,您应自行将变动后的信息进行在线更新并及时通知阿里云。因您提供的人员的信息不真实、不准确、不完整,以及因以上人员的行为或不作为而产生的结果,均由您负责。 3.1.7 您了解阿里云无法保证其所提供的服务毫无瑕疵(如阿里云安全产品并不能保证您的硬件或软件的绝对安全),但阿里云承诺不断提升服务质量及服务水平。所以您同意:即使阿里云提供的服务存在瑕疵,但上述瑕疵是当时行业技术水平所无法避免的,其将不被视为阿里云违约。您同意和阿里云一同合作解决上述瑕疵问题。 3.1.8 您应仔细阅读阿里云就云盾DDoS防护服务在阿里云网站上的服务说明,自行判断云盾DDoS防护服务与您选择适用的操作系统、云服务器等产品或服务的适配性。 3.1.9 您应依照相关操作指引进行操作。由您手动设置的部分(如您对触发清洗阈值等参数的设置)及其产生的结果由您自行负责,请您自行把握风险并谨慎操作。 3.1.10 您将在所选购套餐的流量峰值范围内享受DDoS防护服务。如攻击流量超过您所购买的流量峰值,您应及时升级至更高流量峰值套餐,否则您的云服务器可能会被攻击导致服务中断。 3.2 阿里云的权利、义务 3.2.1 阿里云应按照本服务条款的约定及产品页面的服务标准,向您提供服务。 3.2.2 服务期限内,阿里云将为您提供如下客户服务: 3.2.2.1 阿里云为付费用户提供7×24售后故障服务,并为付费用户提供有效的联系方式并保证付费用户能够联系到故障联系人。故障联系人在明确故障后及时进行反馈; 3.2.2.2 阿里云提供7*24小时的在线工单服务系统,解答客户在使用中的问题。 3.2.3 阿里云将消除您非人为操作所出现的故障,但因您的原因和/或不可抗力以及非阿里云控制范围之内的事项除外。 3.2.4 阿里云提供本服务条款规定的技术支持,但不承担由于您的原因(包括但不限于代码质量,人为管理疏漏,自身安全管理等)造成的影响和损失。 3.2.5 阿里云应严格遵守保密义务。 4 知识产权 4.1 您承认阿里云向您提供的任何资料、技术或技术支持、软件、服务等的知识产权均属于阿里云或第三方所有。除阿里云或第三方明示同意外,您无权复制、传播、转让、许可或提供他人使用上述资源,否则应承担相应的责任。 5 保密条款 5.1 保密资料指由一方向另一方披露的所有技术及非技术信息(包括但不限于产品资料,产品计划,价格,财务及营销规划,业务战略,客户信息,客户数据,研发,软件硬件,API应用数据接口,技术说明,设计,特殊公式,特殊算法等)。 5.2 本服务条款任何一方同意对获悉的对方之上述保密资料予以保密,并严格限制接触上述保密信息的员工遵守本条之保密义务。除非国家机关依法强制要求或上述保密资料已经进入公有领域外,接受保密资料的一方不得对外披露。 5.3 本服务条款双方明确认可各自用户信息和业务数据等是各自的重要资产及重点保密信息。本服务条款双方同意尽最大的努力保护上述保密信息等不被披露。一旦发现有上述保密信息泄露事件,双方应合作采取一切合理措施避免或者减轻损害后果的产生。 5.4 本条款不因本服务条款的终止而失效。 6 期限与终止 6.1 阿里云云盾DDoS防护服务自您开通服务之日起即可使用,至法律规定或本服务条款约定的终止情形出现之时终止。 6.2 发生下列情形,云盾DDoS防护服务终止: 6.2.1 双方协商一致终止; 6.2.2 由于您严重违反本服务条款(包括但不限于a.您未按照本服务条款的约定履行付款义务,及/或b.您严重违反本服务条款中所做的承诺,及/或c.您严重违反法律规定等),阿里云有权按本服务条款的相关约定单方面终止服务,并不退还您已经支付的费用; 6.2.3 如因用户网站遭遇计算机病毒、网络入侵和攻击破坏(包括但不限于DDoS)等危害网络安全事项或行为(以下统称该等行为),阿里云云盾服务将在用户所选购套餐的流量峰值范围内提供DDoS防护服务,如果超过流量峰值或超过服务说明中防护范围,为使用户免受攻击,将会占用用户的网站或服务之相关资源及可能会造成用户的网站或服务在一定时间内不可被最终用户访问(以下统称“服务不可用”),用户理解并确认,该类服务不可用为阿里云履行云盾DDoS防护服务的正常履行行为,并将不视为阿里云对相关服务的违约;如该等行为给阿里云带来危害,或影响阿里云与国际互联网或者阿里云与特定网络、服务器及阿里云内部的通畅联系,阿里云将保留在未通知用户即暂停或终止用户在阿里云其他服务的权利,而无须承担任何义务和责任。 6.2.4 阿里云由于自身经营政策的变动,提前通过提前30天发网站内公告、在网站内合适版面发通知或给您发站内通知、书面通知的方式,终止本服务条款项下的服务; 6.2.5 在业务接入高防IP后,系统显示未发生攻击的情况下,支持5天无理由退款(提交工单)。 7 违约责任 7.1 本服务条款任何一方违约均须依法承担违约责任。 7.2 如果因阿里云原因造成您连续72小时不能正常使用服务的,您可终止接受服务,但非阿里云控制之内的原因引起的除外。 7.3 在任何情况下,阿里云均不对任何间接性、后果性、惩戒性、偶然性、特殊性的损害,包括您使用阿里云服务而遭受的利润损失承担责任(即使您已被告知该等损失的可能性)。 7.4 在任何情况下,阿里云对本服务条款所承担的违约赔偿责任总额不超过向您收取的该违约行为所对应的云盾DDoS防护服务之服务费总额。 8 不可抗力 8.1 因不可抗力或者其他意外事件,使得本服务条款的履行不可能、不必要或者无意义的,遭受不可抗力、意外事件的一方不承担责任。 8.2 不可抗力、意外事件是指不能预见、不能克服并不能避免且对一方或双方当事人造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、瘟疫流行等以及社会事件如战争、动乱、政府行为、电信主干线路中断、黑客、网路堵塞、电信部门技术调整和政府管制等。 9 法律适用及争议解决 9.1 本服务条款受中华人民共和国法律管辖。 9.2 在执行本服务条款过程中如发生纠纷,双方应及时协商解决。协商不成时,任何一方可直接向杭州市西湖区人民法院提起诉讼。 10 附则 10.1.阿里云在 www.aliyun.com 相关页面上的服务说明、价格说明和您确认同意的订购页面是本服务条款不可分割的一部分,如果阿里云在 www.aliyun.com 相关页面上的服务说明、价格说明和您确认同意的订购页面与本服务条款有不一致之处,以本服务条款为准。 10.2 阿里云有权以提前30天在 www.aliyun.com 上公布或给您发站内通知或书面通知的方式将本服务条款的权利义务全部或者部分转移给阿里云的关联公司。 10.3 如果任何条款在性质上或其他方面理应地在此协议终止时继续存在,那么应视为继续存在的条款,这些条款包括但不局限于保证条款、保密条款、知识产权条款、法律适用及争议解决条款。 10.4 本服务条款项下,阿里云对您的所有通知均可通过网页公告、网站内通知、电子邮件、手机短信或书面信函等任一方式进行;该等通知于发送之日即视为已送达收件人。

2019-12-01 23:32:33 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档本服务条款是阿里云计算有限公司(以下简称“阿里云”)与您就云盾DDoS防护服务的相关事项所订立的有效合约。您通过盖章、网络页面点击确认或以其他方式选择接受本服务条款,或实际使用阿里云提供的云盾DDoS防护服务,即表示您与阿里云已达成协议并同意接受本服务条款的全部约定内容。如若双方盖章文本与网络页面点击确认或以其他方式选择接受之服务条款文本,存有不一致之处,以双方盖章文本为准。 在接受本服务条款之前,请您仔细阅读本服务条款的全部内容(特别是以粗体及/或下划线标注的内容)。如果您对本服务条款的条款有疑问的,请通过阿里云官网(www.aliyun.com)公布的联系方式,进行询问,阿里云将向您解释条款内容。如果您不同意本服务条款的任意内容,或者无法准确理解阿里云对条款的解释,请不要进行后续操作。 1 定义 1.1 本条款中的“您”是指:所有使用阿里云云盾DDoS防护服务的主体(包括但不限于个人、团队、公司、组织等),或称“用户”。 1.2 本条款中“服务”指:阿里云向您提供 www.aliyun.com 网站上所展示的云盾DDoS防护服务以及相关的技术及网络支持服务。 1.3 DDoS: Distributed Denial of Service,即分布式拒绝服务攻击,在云端该攻击表现为,通过仿冒大量的正常服务请求来阻止用户访问其在云端数据、应用程序或网站。 1.4 清洗:本服务对进入用户的数据流量进行实时监控,及时发现包括DDoS攻击在内的异常流量。在不影响正常业务的前提下,清洗掉异常流量, 即将可疑流量从原始网络路径中重定向到净化产品上进行恶意流量的识别和剥离,还原出的合法流量回注到原网络中转发给目标系统。 1.5 DDoS防护服务:基于流量清洗、黑洞技术等方式为用户提供的DDoS攻击防护服务,用户在购买了对应流量峰值的DDoS防护服务套餐后,在被DDoS攻击时,且未超过流量峰值的情况下,用户的云服务器可正常运行。 1.6 触发清洗阈值:指的是触发流量清洗所需要的最低值,包括每秒流量,每秒报文数量,每秒HTTP请求数三个触发清洗的阈值,用户云服务器的流量超过三个中的任意一个,都会触发清洗。 1.7 流量峰值:指某一段时间内云服务器产生的流量最大值。 2 服务费用 2.1 阿里云将在阿里云官网公布云盾DDoS防护服务的计费模式、价格体系等信息。具体计费规则请您查看 www.aliyun.com 上的页面公告,且按照页面公布的当时有效的计费模式与标准为准。 2.2 在您付费之后,阿里云才开始为您提供服务。您未在下单后7天内付费的,本服务条款以及与您就服务所达成的一切行为失效。 2.3 服务期满双方愿意继续合作的,您至少应在服务期满前7天前支付续费款项,以使服务得以继续进行。如续费时阿里云对产品体系、名称或价格进行调整的,双方同意按照届时有效的新的产品体系、名称或价格履行。 2.4 阿里云保留在您未按照约定支付全部费用之前不向您提供服务和/或技术支持,或者终止服务和/或技术支持的权利,同时,阿里云保留对后付费服务中的欠费行为追究法律责任的权利。 2.5 您理解并同意,阿里云有权根据经营情况,不定期的对云盾DDoS防护服务的产品体系、名称或价格、计费模式等进行调整。阿里云将尽合理范围内的最大努力,将前述调整及变化,通过官网公告、站内通知等方式提前告知您,或提前发送至您预留的联系方式。 2.6 阿里云有权根据其自身业务推广的需要不时推出优惠活动,您完全理解,所有的优惠活动以及业务推广服务都是阿里云提供的一次性特别优惠,优惠内容不包括赠送服务项目的修改、更新及维护费用,并且赠送服务项目不可折价冲抵服务价格。 3 权利义务 3.1 您的权利、义务 3.1.1 您同意遵守本服务条款以及服务展示页面的相关管理规范及流程。您了解上述协议及规范等的内容可能会不时变更。如本服务条款的任何内容发生变动,阿里云应通过提前30天在 www.aliyun.com 的适当版面公告向您提示修改内容。如您不同意阿里云对本服务条款所做的修改,您有权停止使用阿里云的服务,此等情况下,阿里云应与您进行服务费结算(如有),并且您应将业务迁出。如您继续使用阿里云服务,则视为您接受阿里云对本服务条款相关条款所做的修改。 3.1.2 您应按照阿里云的页面提示及本服务条款的约定支付相应服务费用。 3.1.3 您承诺: 3.1.3.1 不利用本服务从事DDoS防护、DNS防护等防护售卖业务; 3.1.3.2 不得将云盾DDoS防护服务各个部分分开用于任何目的; 3.1.3.3 除阿里云明示许可外,不得修改、翻译、改编、出租、转许可、在信息网络上传播或转让阿里云提供的软件,也不得逆向工程、反编译或试图以其他方式发现阿里云提供的软件的源代码; 3.1.3.4 若阿里云的服务涉及第三方软件之许可使用的,您同意遵守相关的许可协议的约束; 3.1.3.5 您利用云盾DDoS防护服务进行防护的业务须为正常的商业、科研等符合国家法律规定的业务,不得用于从事任何非法业务,包括但不限于: 3.1.3.5.1 违反国家规定的政治宣传和/或新闻; 3.1.3.5.2 涉及国家秘密和/或安全; 3.1.3.5.3 封建迷信和/或淫秽、色情和/或教唆犯罪; 3.1.3.5.4 博彩有奖、赌博游戏、“私服”、“外挂”等非法互联网出版活动; 3.1.3.5.5 违反国家民族和宗教政策; 3.1.3.5.6 妨碍互联网运行安全; 3.1.3.5.7 侵害他人合法权益和/或其他有损于社会秩序、社会治安、公共道德的活动; 3.1.3.5.8 其他违反法律法规、部门规章或国家政策的内容。 3.1.3.6 不建立或利用有关设备、配置运行与所购服务无关的程序或进程,或者故意编写恶意代码导致大量占用阿里云云计算资源(如云盾DDoS防护服务、网络带宽、存储空间等)所组成的平台(以下简称“云平台”)中的服务器内存、CPU或者网络带宽资源,给阿里云云平台或者阿里云的其他用户的网络、服务器(包括但不限于本地及外地和国际的网络、服务器等)、产品/应用等带来严重的负荷,影响阿里云与国际互联网或者阿里云与特定网络、服务器及阿里云内部的通畅联系,或者导致阿里云云平台产品与服务或者阿里云的其他用户网站所在的服务器宕机、死机或者用户基于云平台的产品/应用不可访问等; 3.1.3.7 不进行任何破坏或试图破坏网络安全的行为(包括但不限于钓鱼,黑客,网络诈骗,网站或空间中含有或涉嫌散播:病毒、木马、恶意代码,及通过虚拟服务器对其他网站、服务器进行涉嫌攻击行为如扫描、嗅探、ARP欺骗、DDoS等); 3.1.3.8 不进行任何改变或试图改变阿里云提供的系统配置或破坏系统安全的行为; 3.1.3.9 不利用阿里云提供的服务从事损害阿里云、阿里云的关联公司或阿里巴巴集团内包括但不限于阿里巴巴、淘宝、支付宝、阿里妈妈、阿里金融等(以下统称为阿里巴巴公司)各公司、网站合法权益之行为,前述损害阿里巴巴公司、网站合法权益的行为包括但不限于违反阿里巴巴公司公布的任何服务协议/条款、管理规范、交易规则等规范内容、破坏或试图破坏阿里巴巴公司公平交易环境或正常交易秩序等; 3.1.3.10 不从事其他违法、违规或违反阿里云服务条款的行为; 3.1.3.11 如阿里云发现您违反上述条款的约定,有权根据情况采取相应的处理措施,包括但不限于立即中止服务、终止服务等。如因您违反上述保证而给阿里云(包括阿里云关联公司)或阿里云合作伙伴造成损失的,您还应自行承担一切法律责任并赔偿损失; 3.1.3.12 如果第三方机构或个人对您提出质疑或投诉,阿里云将通知您,您有责任在规定时间内进行说明并出具证明材料,如您未能提供相反证据或您逾期未能反馈的,阿里云将采取包括但不限于立即中止服务或终止服务等处理措施。因您未及时更新联系方式或联系方式不正确而致使未能联系到您的,亦视为您逾期未能反馈; 3.1.3.13 阿里云依据第3.1.3.11条、第3.1.3.12条对您采取了中止服务、终止服务等措施而给您造成任何损失的,阿里云不承担任何责任。 3.1.4 您不应在阿里云服务或平台之上安装、使用盗版软件;您对自己行为(如自行安装的软件和进行的操作)所引起的结果承担全部责任。 3.1.5 您对自己存放在阿里云云平台上的数据以及进入和管理阿里云云平台上各类产品与服务的口令、密码的完整性和保密性负责。因您维护不当或保密不当或操作不当致使上述数据、口令、密码等丢失或泄漏所引起的一切损失和后果均由您自行承担。 3.1.6 您应向阿里云提交执行本服务条款的联系人和管理用户网络及云平台上各类产品与服务的人员名单和联系方式并提供必要的协助。如以上人员发生变动,您应自行将变动后的信息进行在线更新并及时通知阿里云。因您提供的人员的信息不真实、不准确、不完整,以及因以上人员的行为或不作为而产生的结果,均由您负责。 3.1.7 您了解阿里云无法保证其所提供的服务毫无瑕疵(如阿里云安全产品并不能保证您的硬件或软件的绝对安全),但阿里云承诺不断提升服务质量及服务水平。所以您同意:即使阿里云提供的服务存在瑕疵,但上述瑕疵是当时行业技术水平所无法避免的,其将不被视为阿里云违约。您同意和阿里云一同合作解决上述瑕疵问题。 3.1.8 您应仔细阅读阿里云就云盾DDoS防护服务在阿里云网站上的服务说明,自行判断云盾DDoS防护服务与您选择适用的操作系统、云服务器等产品或服务的适配性。 3.1.9 您应依照相关操作指引进行操作。由您手动设置的部分(如您对触发清洗阈值等参数的设置)及其产生的结果由您自行负责,请您自行把握风险并谨慎操作。 3.1.10 您将在所选购套餐的流量峰值范围内享受DDoS防护服务。如攻击流量超过您所购买的流量峰值,您应及时升级至更高流量峰值套餐,否则您的云服务器可能会被攻击导致服务中断。 3.2 阿里云的权利、义务 3.2.1 阿里云应按照本服务条款的约定及产品页面的服务标准,向您提供服务。 3.2.2 服务期限内,阿里云将为您提供如下客户服务: 3.2.2.1 阿里云为付费用户提供7×24售后故障服务,并为付费用户提供有效的联系方式并保证付费用户能够联系到故障联系人。故障联系人在明确故障后及时进行反馈; 3.2.2.2 阿里云提供7*24小时的在线工单服务系统,解答客户在使用中的问题。 3.2.3 阿里云将消除您非人为操作所出现的故障,但因您的原因和/或不可抗力以及非阿里云控制范围之内的事项除外。 3.2.4 阿里云提供本服务条款规定的技术支持,但不承担由于您的原因(包括但不限于代码质量,人为管理疏漏,自身安全管理等)造成的影响和损失。 3.2.5 阿里云应严格遵守保密义务。 4 知识产权 4.1 您承认阿里云向您提供的任何资料、技术或技术支持、软件、服务等的知识产权均属于阿里云或第三方所有。除阿里云或第三方明示同意外,您无权复制、传播、转让、许可或提供他人使用上述资源,否则应承担相应的责任。 5 保密条款 5.1 保密资料指由一方向另一方披露的所有技术及非技术信息(包括但不限于产品资料,产品计划,价格,财务及营销规划,业务战略,客户信息,客户数据,研发,软件硬件,API应用数据接口,技术说明,设计,特殊公式,特殊算法等)。 5.2 本服务条款任何一方同意对获悉的对方之上述保密资料予以保密,并严格限制接触上述保密信息的员工遵守本条之保密义务。除非国家机关依法强制要求或上述保密资料已经进入公有领域外,接受保密资料的一方不得对外披露。 5.3 本服务条款双方明确认可各自用户信息和业务数据等是各自的重要资产及重点保密信息。本服务条款双方同意尽最大的努力保护上述保密信息等不被披露。一旦发现有上述保密信息泄露事件,双方应合作采取一切合理措施避免或者减轻损害后果的产生。 5.4 本条款不因本服务条款的终止而失效。 6 期限与终止 6.1 阿里云云盾DDoS防护服务自您开通服务之日起即可使用,至法律规定或本服务条款约定的终止情形出现之时终止。 6.2 发生下列情形,云盾DDoS防护服务终止: 6.2.1 双方协商一致终止; 6.2.2 由于您严重违反本服务条款(包括但不限于a.您未按照本服务条款的约定履行付款义务,及/或b.您严重违反本服务条款中所做的承诺,及/或c.您严重违反法律规定等),阿里云有权按本服务条款的相关约定单方面终止服务,并不退还您已经支付的费用; 6.2.3 如因用户网站遭遇计算机病毒、网络入侵和攻击破坏(包括但不限于DDoS)等危害网络安全事项或行为(以下统称该等行为),阿里云云盾服务将在用户所选购套餐的流量峰值范围内提供DDoS防护服务,如果超过流量峰值或超过服务说明中防护范围,为使用户免受攻击,将会占用用户的网站或服务之相关资源及可能会造成用户的网站或服务在一定时间内不可被最终用户访问(以下统称“服务不可用”),用户理解并确认,该类服务不可用为阿里云履行云盾DDoS防护服务的正常履行行为,并将不视为阿里云对相关服务的违约;如该等行为给阿里云带来危害,或影响阿里云与国际互联网或者阿里云与特定网络、服务器及阿里云内部的通畅联系,阿里云将保留在未通知用户即暂停或终止用户在阿里云其他服务的权利,而无须承担任何义务和责任。 6.2.4 阿里云由于自身经营政策的变动,提前通过提前30天发网站内公告、在网站内合适版面发通知或给您发站内通知、书面通知的方式,终止本服务条款项下的服务; 6.2.5 在业务接入高防IP后,系统显示未发生攻击的情况下,支持5天无理由退款(提交工单)。 7 违约责任 7.1 本服务条款任何一方违约均须依法承担违约责任。 7.2 如果因阿里云原因造成您连续72小时不能正常使用服务的,您可终止接受服务,但非阿里云控制之内的原因引起的除外。 7.3 在任何情况下,阿里云均不对任何间接性、后果性、惩戒性、偶然性、特殊性的损害,包括您使用阿里云服务而遭受的利润损失承担责任(即使您已被告知该等损失的可能性)。 7.4 在任何情况下,阿里云对本服务条款所承担的违约赔偿责任总额不超过向您收取的该违约行为所对应的云盾DDoS防护服务之服务费总额。 8 不可抗力 8.1 因不可抗力或者其他意外事件,使得本服务条款的履行不可能、不必要或者无意义的,遭受不可抗力、意外事件的一方不承担责任。 8.2 不可抗力、意外事件是指不能预见、不能克服并不能避免且对一方或双方当事人造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、瘟疫流行等以及社会事件如战争、动乱、政府行为、电信主干线路中断、黑客、网路堵塞、电信部门技术调整和政府管制等。 9 法律适用及争议解决 9.1 本服务条款受中华人民共和国法律管辖。 9.2 在执行本服务条款过程中如发生纠纷,双方应及时协商解决。协商不成时,任何一方可直接向杭州市西湖区人民法院提起诉讼。 10 附则 10.1.阿里云在 www.aliyun.com 相关页面上的服务说明、价格说明和您确认同意的订购页面是本服务条款不可分割的一部分,如果阿里云在 www.aliyun.com 相关页面上的服务说明、价格说明和您确认同意的订购页面与本服务条款有不一致之处,以本服务条款为准。 10.2 阿里云有权以提前30天在 www.aliyun.com 上公布或给您发站内通知或书面通知的方式将本服务条款的权利义务全部或者部分转移给阿里云的关联公司。 10.3 如果任何条款在性质上或其他方面理应地在此协议终止时继续存在,那么应视为继续存在的条款,这些条款包括但不局限于保证条款、保密条款、知识产权条款、法律适用及争议解决条款。 10.4 本服务条款项下,阿里云对您的所有通知均可通过网页公告、网站内通知、电子邮件、手机短信或书面信函等任一方式进行;该等通知于发送之日即视为已送达收件人。

2019-12-01 23:32:33 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档本服务条款是阿里云计算有限公司(以下简称“阿里云”)与您就云盾DDoS防护服务的相关事项所订立的有效合约。您通过盖章、网络页面点击确认或以其他方式选择接受本服务条款,或实际使用阿里云提供的云盾DDoS防护服务,即表示您与阿里云已达成协议并同意接受本服务条款的全部约定内容。如若双方盖章文本与网络页面点击确认或以其他方式选择接受之服务条款文本,存有不一致之处,以双方盖章文本为准。 在接受本服务条款之前,请您仔细阅读本服务条款的全部内容(特别是以粗体及/或下划线标注的内容)。如果您对本服务条款的条款有疑问的,请通过阿里云官网(www.aliyun.com)公布的联系方式,进行询问,阿里云将向您解释条款内容。如果您不同意本服务条款的任意内容,或者无法准确理解阿里云对条款的解释,请不要进行后续操作。 1 定义 1.1 本条款中的“您”是指:所有使用阿里云云盾DDoS防护服务的主体(包括但不限于个人、团队、公司、组织等),或称“用户”。 1.2 本条款中“服务”指:阿里云向您提供 www.aliyun.com 网站上所展示的云盾DDoS防护服务以及相关的技术及网络支持服务。 1.3 DDoS: Distributed Denial of Service,即分布式拒绝服务攻击,在云端该攻击表现为,通过仿冒大量的正常服务请求来阻止用户访问其在云端数据、应用程序或网站。 1.4 清洗:本服务对进入用户的数据流量进行实时监控,及时发现包括DDoS攻击在内的异常流量。在不影响正常业务的前提下,清洗掉异常流量, 即将可疑流量从原始网络路径中重定向到净化产品上进行恶意流量的识别和剥离,还原出的合法流量回注到原网络中转发给目标系统。 1.5 DDoS防护服务:基于流量清洗、黑洞技术等方式为用户提供的DDoS攻击防护服务,用户在购买了对应流量峰值的DDoS防护服务套餐后,在被DDoS攻击时,且未超过流量峰值的情况下,用户的云服务器可正常运行。 1.6 触发清洗阈值:指的是触发流量清洗所需要的最低值,包括每秒流量,每秒报文数量,每秒HTTP请求数三个触发清洗的阈值,用户云服务器的流量超过三个中的任意一个,都会触发清洗。 1.7 流量峰值:指某一段时间内云服务器产生的流量最大值。 2 服务费用 2.1 阿里云将在阿里云官网公布云盾DDoS防护服务的计费模式、价格体系等信息。具体计费规则请您查看 www.aliyun.com 上的页面公告,且按照页面公布的当时有效的计费模式与标准为准。 2.2 在您付费之后,阿里云才开始为您提供服务。您未在下单后7天内付费的,本服务条款以及与您就服务所达成的一切行为失效。 2.3 服务期满双方愿意继续合作的,您至少应在服务期满前7天前支付续费款项,以使服务得以继续进行。如续费时阿里云对产品体系、名称或价格进行调整的,双方同意按照届时有效的新的产品体系、名称或价格履行。 2.4 阿里云保留在您未按照约定支付全部费用之前不向您提供服务和/或技术支持,或者终止服务和/或技术支持的权利,同时,阿里云保留对后付费服务中的欠费行为追究法律责任的权利。 2.5 您理解并同意,阿里云有权根据经营情况,不定期的对云盾DDoS防护服务的产品体系、名称或价格、计费模式等进行调整。阿里云将尽合理范围内的最大努力,将前述调整及变化,通过官网公告、站内通知等方式提前告知您,或提前发送至您预留的联系方式。 2.6 阿里云有权根据其自身业务推广的需要不时推出优惠活动,您完全理解,所有的优惠活动以及业务推广服务都是阿里云提供的一次性特别优惠,优惠内容不包括赠送服务项目的修改、更新及维护费用,并且赠送服务项目不可折价冲抵服务价格。 3 权利义务 3.1 您的权利、义务 3.1.1 您同意遵守本服务条款以及服务展示页面的相关管理规范及流程。您了解上述协议及规范等的内容可能会不时变更。如本服务条款的任何内容发生变动,阿里云应通过提前30天在 www.aliyun.com 的适当版面公告向您提示修改内容。如您不同意阿里云对本服务条款所做的修改,您有权停止使用阿里云的服务,此等情况下,阿里云应与您进行服务费结算(如有),并且您应将业务迁出。如您继续使用阿里云服务,则视为您接受阿里云对本服务条款相关条款所做的修改。 3.1.2 您应按照阿里云的页面提示及本服务条款的约定支付相应服务费用。 3.1.3 您承诺: 3.1.3.1 不利用本服务从事DDoS防护、DNS防护等防护售卖业务; 3.1.3.2 不得将云盾DDoS防护服务各个部分分开用于任何目的; 3.1.3.3 除阿里云明示许可外,不得修改、翻译、改编、出租、转许可、在信息网络上传播或转让阿里云提供的软件,也不得逆向工程、反编译或试图以其他方式发现阿里云提供的软件的源代码; 3.1.3.4 若阿里云的服务涉及第三方软件之许可使用的,您同意遵守相关的许可协议的约束; 3.1.3.5 您利用云盾DDoS防护服务进行防护的业务须为正常的商业、科研等符合国家法律规定的业务,不得用于从事任何非法业务,包括但不限于: 3.1.3.5.1 违反国家规定的政治宣传和/或新闻; 3.1.3.5.2 涉及国家秘密和/或安全; 3.1.3.5.3 封建迷信和/或淫秽、色情和/或教唆犯罪; 3.1.3.5.4 博彩有奖、赌博游戏、“私服”、“外挂”等非法互联网出版活动; 3.1.3.5.5 违反国家民族和宗教政策; 3.1.3.5.6 妨碍互联网运行安全; 3.1.3.5.7 侵害他人合法权益和/或其他有损于社会秩序、社会治安、公共道德的活动; 3.1.3.5.8 其他违反法律法规、部门规章或国家政策的内容。 3.1.3.6 不建立或利用有关设备、配置运行与所购服务无关的程序或进程,或者故意编写恶意代码导致大量占用阿里云云计算资源(如云盾DDoS防护服务、网络带宽、存储空间等)所组成的平台(以下简称“云平台”)中的服务器内存、CPU或者网络带宽资源,给阿里云云平台或者阿里云的其他用户的网络、服务器(包括但不限于本地及外地和国际的网络、服务器等)、产品/应用等带来严重的负荷,影响阿里云与国际互联网或者阿里云与特定网络、服务器及阿里云内部的通畅联系,或者导致阿里云云平台产品与服务或者阿里云的其他用户网站所在的服务器宕机、死机或者用户基于云平台的产品/应用不可访问等; 3.1.3.7 不进行任何破坏或试图破坏网络安全的行为(包括但不限于钓鱼,黑客,网络诈骗,网站或空间中含有或涉嫌散播:病毒、木马、恶意代码,及通过虚拟服务器对其他网站、服务器进行涉嫌攻击行为如扫描、嗅探、ARP欺骗、DDoS等); 3.1.3.8 不进行任何改变或试图改变阿里云提供的系统配置或破坏系统安全的行为; 3.1.3.9 不利用阿里云提供的服务从事损害阿里云、阿里云的关联公司或阿里巴巴集团内包括但不限于阿里巴巴、淘宝、支付宝、阿里妈妈、阿里金融等(以下统称为阿里巴巴公司)各公司、网站合法权益之行为,前述损害阿里巴巴公司、网站合法权益的行为包括但不限于违反阿里巴巴公司公布的任何服务协议/条款、管理规范、交易规则等规范内容、破坏或试图破坏阿里巴巴公司公平交易环境或正常交易秩序等; 3.1.3.10 不从事其他违法、违规或违反阿里云服务条款的行为; 3.1.3.11 如阿里云发现您违反上述条款的约定,有权根据情况采取相应的处理措施,包括但不限于立即中止服务、终止服务等。如因您违反上述保证而给阿里云(包括阿里云关联公司)或阿里云合作伙伴造成损失的,您还应自行承担一切法律责任并赔偿损失; 3.1.3.12 如果第三方机构或个人对您提出质疑或投诉,阿里云将通知您,您有责任在规定时间内进行说明并出具证明材料,如您未能提供相反证据或您逾期未能反馈的,阿里云将采取包括但不限于立即中止服务或终止服务等处理措施。因您未及时更新联系方式或联系方式不正确而致使未能联系到您的,亦视为您逾期未能反馈; 3.1.3.13 阿里云依据第3.1.3.11条、第3.1.3.12条对您采取了中止服务、终止服务等措施而给您造成任何损失的,阿里云不承担任何责任。 3.1.4 您不应在阿里云服务或平台之上安装、使用盗版软件;您对自己行为(如自行安装的软件和进行的操作)所引起的结果承担全部责任。 3.1.5 您对自己存放在阿里云云平台上的数据以及进入和管理阿里云云平台上各类产品与服务的口令、密码的完整性和保密性负责。因您维护不当或保密不当或操作不当致使上述数据、口令、密码等丢失或泄漏所引起的一切损失和后果均由您自行承担。 3.1.6 您应向阿里云提交执行本服务条款的联系人和管理用户网络及云平台上各类产品与服务的人员名单和联系方式并提供必要的协助。如以上人员发生变动,您应自行将变动后的信息进行在线更新并及时通知阿里云。因您提供的人员的信息不真实、不准确、不完整,以及因以上人员的行为或不作为而产生的结果,均由您负责。 3.1.7 您了解阿里云无法保证其所提供的服务毫无瑕疵(如阿里云安全产品并不能保证您的硬件或软件的绝对安全),但阿里云承诺不断提升服务质量及服务水平。所以您同意:即使阿里云提供的服务存在瑕疵,但上述瑕疵是当时行业技术水平所无法避免的,其将不被视为阿里云违约。您同意和阿里云一同合作解决上述瑕疵问题。 3.1.8 您应仔细阅读阿里云就云盾DDoS防护服务在阿里云网站上的服务说明,自行判断云盾DDoS防护服务与您选择适用的操作系统、云服务器等产品或服务的适配性。 3.1.9 您应依照相关操作指引进行操作。由您手动设置的部分(如您对触发清洗阈值等参数的设置)及其产生的结果由您自行负责,请您自行把握风险并谨慎操作。 3.1.10 您将在所选购套餐的流量峰值范围内享受DDoS防护服务。如攻击流量超过您所购买的流量峰值,您应及时升级至更高流量峰值套餐,否则您的云服务器可能会被攻击导致服务中断。 3.2 阿里云的权利、义务 3.2.1 阿里云应按照本服务条款的约定及产品页面的服务标准,向您提供服务。 3.2.2 服务期限内,阿里云将为您提供如下客户服务: 3.2.2.1 阿里云为付费用户提供7×24售后故障服务,并为付费用户提供有效的联系方式并保证付费用户能够联系到故障联系人。故障联系人在明确故障后及时进行反馈; 3.2.2.2 阿里云提供7*24小时的在线工单服务系统,解答客户在使用中的问题。 3.2.3 阿里云将消除您非人为操作所出现的故障,但因您的原因和/或不可抗力以及非阿里云控制范围之内的事项除外。 3.2.4 阿里云提供本服务条款规定的技术支持,但不承担由于您的原因(包括但不限于代码质量,人为管理疏漏,自身安全管理等)造成的影响和损失。 3.2.5 阿里云应严格遵守保密义务。 4 知识产权 4.1 您承认阿里云向您提供的任何资料、技术或技术支持、软件、服务等的知识产权均属于阿里云或第三方所有。除阿里云或第三方明示同意外,您无权复制、传播、转让、许可或提供他人使用上述资源,否则应承担相应的责任。 5 保密条款 5.1 保密资料指由一方向另一方披露的所有技术及非技术信息(包括但不限于产品资料,产品计划,价格,财务及营销规划,业务战略,客户信息,客户数据,研发,软件硬件,API应用数据接口,技术说明,设计,特殊公式,特殊算法等)。 5.2 本服务条款任何一方同意对获悉的对方之上述保密资料予以保密,并严格限制接触上述保密信息的员工遵守本条之保密义务。除非国家机关依法强制要求或上述保密资料已经进入公有领域外,接受保密资料的一方不得对外披露。 5.3 本服务条款双方明确认可各自用户信息和业务数据等是各自的重要资产及重点保密信息。本服务条款双方同意尽最大的努力保护上述保密信息等不被披露。一旦发现有上述保密信息泄露事件,双方应合作采取一切合理措施避免或者减轻损害后果的产生。 5.4 本条款不因本服务条款的终止而失效。 6 期限与终止 6.1 阿里云云盾DDoS防护服务自您开通服务之日起即可使用,至法律规定或本服务条款约定的终止情形出现之时终止。 6.2 发生下列情形,云盾DDoS防护服务终止: 6.2.1 双方协商一致终止; 6.2.2 由于您严重违反本服务条款(包括但不限于a.您未按照本服务条款的约定履行付款义务,及/或b.您严重违反本服务条款中所做的承诺,及/或c.您严重违反法律规定等),阿里云有权按本服务条款的相关约定单方面终止服务,并不退还您已经支付的费用; 6.2.3 如因用户网站遭遇计算机病毒、网络入侵和攻击破坏(包括但不限于DDoS)等危害网络安全事项或行为(以下统称该等行为),阿里云云盾服务将在用户所选购套餐的流量峰值范围内提供DDoS防护服务,如果超过流量峰值或超过服务说明中防护范围,为使用户免受攻击,将会占用用户的网站或服务之相关资源及可能会造成用户的网站或服务在一定时间内不可被最终用户访问(以下统称“服务不可用”),用户理解并确认,该类服务不可用为阿里云履行云盾DDoS防护服务的正常履行行为,并将不视为阿里云对相关服务的违约;如该等行为给阿里云带来危害,或影响阿里云与国际互联网或者阿里云与特定网络、服务器及阿里云内部的通畅联系,阿里云将保留在未通知用户即暂停或终止用户在阿里云其他服务的权利,而无须承担任何义务和责任。 6.2.4 阿里云由于自身经营政策的变动,提前通过提前30天发网站内公告、在网站内合适版面发通知或给您发站内通知、书面通知的方式,终止本服务条款项下的服务; 6.2.5 在业务接入高防IP后,系统显示未发生攻击的情况下,支持5天无理由退款(提交工单)。 7 违约责任 7.1 本服务条款任何一方违约均须依法承担违约责任。 7.2 如果因阿里云原因造成您连续72小时不能正常使用服务的,您可终止接受服务,但非阿里云控制之内的原因引起的除外。 7.3 在任何情况下,阿里云均不对任何间接性、后果性、惩戒性、偶然性、特殊性的损害,包括您使用阿里云服务而遭受的利润损失承担责任(即使您已被告知该等损失的可能性)。 7.4 在任何情况下,阿里云对本服务条款所承担的违约赔偿责任总额不超过向您收取的该违约行为所对应的云盾DDoS防护服务之服务费总额。 8 不可抗力 8.1 因不可抗力或者其他意外事件,使得本服务条款的履行不可能、不必要或者无意义的,遭受不可抗力、意外事件的一方不承担责任。 8.2 不可抗力、意外事件是指不能预见、不能克服并不能避免且对一方或双方当事人造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、瘟疫流行等以及社会事件如战争、动乱、政府行为、电信主干线路中断、黑客、网路堵塞、电信部门技术调整和政府管制等。 9 法律适用及争议解决 9.1 本服务条款受中华人民共和国法律管辖。 9.2 在执行本服务条款过程中如发生纠纷,双方应及时协商解决。协商不成时,任何一方可直接向杭州市西湖区人民法院提起诉讼。 10 附则 10.1.阿里云在 www.aliyun.com 相关页面上的服务说明、价格说明和您确认同意的订购页面是本服务条款不可分割的一部分,如果阿里云在 www.aliyun.com 相关页面上的服务说明、价格说明和您确认同意的订购页面与本服务条款有不一致之处,以本服务条款为准。 10.2 阿里云有权以提前30天在 www.aliyun.com 上公布或给您发站内通知或书面通知的方式将本服务条款的权利义务全部或者部分转移给阿里云的关联公司。 10.3 如果任何条款在性质上或其他方面理应地在此协议终止时继续存在,那么应视为继续存在的条款,这些条款包括但不局限于保证条款、保密条款、知识产权条款、法律适用及争议解决条款。 10.4 本服务条款项下,阿里云对您的所有通知均可通过网页公告、网站内通知、电子邮件、手机短信或书面信函等任一方式进行;该等通知于发送之日即视为已送达收件人。

2019-12-01 23:32:33 0 浏览量 回答数 0

问题

Web测试方法

技术小菜鸟 2019-12-01 21:41:32 7022 浏览量 回答数 1

回答

回 楼主(qilu) 的帖子 问题:用户反馈linux下服务器站点打不开,控制台重启服务器后也无法打开。 解决:检查服务器是正常的,80端口测试是可以通的,进入后检查确认nginx进程正常,打开网站显示502 Bad Gateway错误,之后检查发现php进程丢失,找到php目录php/sbin/php-fpm start 启动php进程后网站恢复正常。 ------------------------- 问题:用户反馈debian机器无法远程,通过ECS管理链接终端进入看到如下界面 /etc/ssh/sshd_config: bad configuration option 解决:修改ssh配置文件导致,最直接有效方法是重装安装sshapt-get remove --purge openssh-serverapt-get installl  openssh-server/etc/init.d/ssh restart重装后正常远程 ------------------------- 问题:window2003服务器用户反馈可以远程,但是ip地址ping不通 ip地址ping不通只有可能是主机内部防火墙或者组策略限制。查看主机防火墙开启,但没有设置ICMP包回显。控制面板-防火墙-高级-ICMP设置。 ------------------------- 问题:用户反馈两台ECS Linux云服务器内网ip有丢包,提示ping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permitted使用同时dmesg发现很多nf_conntrack: table full, dropping packet. 解决:IP_conntrack表示连接跟踪数据库(conntrack database),代表NAT机器跟踪连接的数目,连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的ip- sysctl函数设置,建议用户修改增大/etc/sysctl.conf中加net.ipv4.ip_conntract_max的值后解决,相关优化可以参考网上文章。 ------------------------- 问题:用户反馈修改php.ini配置文件不生效nginx+php环境下,需要重启php服务,php.Ini配置文件才会生效 ------------------------- 问题:用户使用自己的脚本安装了vpn,使用vpn账号,密码可以登陆但是无法上网。解决方法:开启linux转发功能命令:   #sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/' /etc/sysctl.conf#/sbin/sysctl -p ------------------------- 问题:突然发现访问网站很慢,服务器的cpu、内存和磁盘使用率都正常解决:该问题的主要解决方法参考:http://help.aliyun.com/manual?helpId=1724,但是根据该方法部分系统会报error: "net.ipv4.ip_conntrack_max" is an unknown key ,因此可尝试将方案中的语句修改成:net.ipv4.nf_conntrack_max = 1048576主要部分系统是nf_conntrack 而不是 ip_conntrack 模块。具体可以使用命令确认具体使用了什么模块:modprobe -l|grep conntrack ------------------------- 问题:用户反馈无法远程访问,无法ssh解决:1.ping云服务器ip地址可以ping通 2.使用ECS连接管理终端查看sshd服务是否正常运行,重启sshd服务提示有错误,并且在/var/empty/sshd 目录权限有错误,导致sshd服务无法正常运行 3. 使用命令chown –R root:root /var/empty/sshd 和chmod 744 /var/empty/sshd即可,测试恢复正常可以远程。 ------------------------- 问题:用户反馈客户反馈安装桌面环境失败,执行yum groupinstall "GNOME Desktop Environment"报如下错误:Warning: Group GNOME Desktop Environment does not exist. No packages in any requested group available to install or update。解决:从错误提示中可以看出,不存在GNOME Desktop Environment执行yum grouplist查询发现 GNOME Desktop Environment 已经是 Desktop整理了以下安装步骤:          1、yum groupinstall "X Window System"          2、yum groupinstall "Desktop"          3、安装VNC SERVER yum install tigervnc-server          4、修改配置文件 vi /etc/sysconfig/vncservers添加如下内容:          VNCSERVERS="1:root"             VNCSERVERARGS[1]="-geometry 1024x768"           5、给vnc加密  vncpasswd 输入两次密码           6、重新启动服务 service vpnserver restart完成以上步骤,我们就可以使用VNC客户端连接了 ------------------------- 问题:用户反馈ECS云服务器做域控制器,其他外部服务器无法加入该域中,反之可以解决:将客户ECS服务器开启RemoteRegistry服务,安装域控制器使用外部云服务器加入域中,发现能够解析成功,且能够弹出用户名密码授权界面,但是确定后报网络错误,经过多次尝试,发现最终问题在DNS上,由于ECS服务器有2块网卡公网和内网,因此安装后会有2条A记录分别指向公网和内网所以测试PING域名会解析到公网上,产生了DNS缓存因此很难看到内网地址出现,但是加入域请求时用解析到的是公网地址,验证身份时很可能请求到的就是内网地址,因此造成网络不通从而无法验证。将客户端HOSTS绑定域名到公网地址问题解决。 ------------------------- 问题:用户反馈windows server 2008无法远程,主机内部通信正常解决过程:1、  检查内部是否能够远程,发现服务器内部网络正常,远程localhost也正常2、  检查防火墙配置,发现防火墙无法打开3、  启动防火墙服务器,报错4、  检查防火墙注册表信息,发现丢失,将相同系统的注册表键值导入5、  再次启动防火墙,报错没有权限,错误代码70246、  选择注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess将其权限修改添加NT SERVICE\mpssvc并赋予完全控制权限7、启动防火墙服务,远程恢复正常 ------------------------- 问题:用户反馈微软雅黑, sans-serif]服务器网络不通,无法远程,报错情况见下图。网上搜索方法无外乎都是安装glibc.i686,原因一般是64位系统下安装了32位程序,但是没有对应的版本的glibc库导致 这种情况下下虽然service无法启动网卡,但是ifup是可以激活网卡的处理方法如下:sed -i '/exclude/ s/^/#/g' /etc/yum.conf&&ifup eth1&&yum install glibc.i686 -y#修改 /etc/yum.conf 找到包含exclude的行在行首插入#注释(我们64位镜像默认排除了*i?86的包,所以这里要修改一下)#启动eth1网卡,安装32位glibc库,执行后一般即可搞定 ------------------------- 问题:服务器上的Cisco VPN客户端拨入远端VPN服务器网络无法通信,其他外地客户端拨入远端VPN服务器均正常解决:1)查看客户VPN连接成功,但是无数据通信,PING包无法到达远端内网地址2)检查VPN客户端拨号日志,发现添加远端路由失败3)关闭服务器安全狗,重新连接VPN依旧失败。4)检查系统路由表,发现客户VPN段内网地址与VM内网地址段冲突,造成路由表添加失败;询问客户无使用我方SLB\RDS等内网产品后将内网网卡禁用,重新拨号连接,依旧发现路由表添加失败。5)手动添加路由后,VPN网络正常 ------------------------- 问题:服务器上的Cisco VPN客户端拨入远端VPN服务器网络无法通信,其他外地客户端拨入远端VPN服务器均正常解决:1)查看客户VPN连接成功,但是无数据通信,PING包无法到达远端内网地址2)检查VPN客户端拨号日志,发现添加远端路由失败 3)关闭服务器安全狗,重新连接VPN依旧失败。4)检查系统路由表,发现客户VPN段内网地址与VM内网地址段冲突,造成路由表添加失败;询问客户无使用我方SLB\RDS等内网产品后将内网网卡禁用,重新拨号连接,依旧发现路由表添加失败。5)手动添加路由后,VPN网络正常 ------------------------- 问题:使用一件安装包安装环境php报错 php virtual memory exhausted: Cannot allocate memory解决:该问题一般出现在512M内存的系统上,内存不足导致,可以让用户升级内存,升级内存后解决。 ------------------------- 问题:用户反馈Windows服务器无法远程,连接的时候提示协议错误。解决:用户反馈远程连接端口是3188,注册表中查询远程连接端口确实被改成了3188,但是在主机上远程连接也提示协议错误,使用netstat -nao 分析发现 3188对应的进程pid为4,对应经查system,找测试测试机对比,发现远程连接端口对应进程是svchost,修改注册表远程连接端口为3389后,测试恢复正常。] ------------------------- 问题:用date命令修改Linux系统的时间为什么无效解决:需要手动修改一下系统的时区才能显示正确的时间,这里以上海时区为例1. 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai用这个文件替换当前的文件/etc/localtime#cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime2. 修改/etc/sysconfig/clock文件,修改为: ZONE="Asia/Shanghai" UTC=true ARC=false 3. 一般只需要这两步就可以了,或者再执行下句命令校正一下时间/usr/sbin/ntpdate –u 0.asia.pool.ntp.org4. 如果没有安装ntp程序包则先执行下面这条语句yum install -y ntp* ------------------------- 问题:linux服务器x64位安装32位软件包(如libstc++.i386等)安装不上的解决方法解决方法:如果有用户反馈在linux服务器x64位安装32位软件包(如libstc++.i386等)不安装不上,可以尝试让用户在/etc/yum.conf 文件中将exclude=*.i386 kernel kernel-xen kernel-debug 注释掉,在进行安装尝试,参考http://blog.csdn.net/lixiucheng005/article/details/8787856 ------------------------- 问题:云服务器的物理机宕机怎么办?云服务器是部署在物理机上的,底层物理机性能出现异常或者其他原因都会导致物理机宕机,当检测到云服务器所在的物理机机发生故障,系统会启动保护性迁移,将您的服务器迁移到性能正常的宿主机上 ,一旦发生宕机迁移,您的服务器就会被重启,如果您希望您的服务器重启以后应用服务器自动恢复,需要您把应用程序设置成开机自动启动,如果应用服务连接的数据库,需要在程序中设置成自动重连机制。 ------------------------- 问题:Linux 服务起出现500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp错误? vsftp无法使用,尝试查看/etc/passwd下的目录发现用户使用的账号没有问题,但是尝试telnet 127.0.0.1 21 的时候主机报错500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp 处理办法在/etc/vsftpd.conf 文件内加入ftp_username=nobody 保存,该问题即可解决 ------------------------- 问题:物理机宕机迁移怎么办?云服务器是部署在物理机上的,底层物理机性能出现异常或者其他原因都会导致物理机宕机,当检测到云服务器所在的物理机机发生故障,系统会启动保护性迁移,将您的服务器迁移到性能正常的宿主机上 ,一旦发生宕机迁移,您的服务器就会被重启,如果您希望您的服务器重启以后应用服务器自动恢复,需要您把应用程序设置成开机自动启动,如果应用服务连接的数据库,需要在程序中设置成自动重连机制。 ------------------------- 问题:FTP上传经常中断怎么办?在使用FTP软件进行数据传输时有时会出现断开连接的情况,这和网络环境、硬件环境和软件环境都可能有关系。如果您在FTP管理里出现经常中断的情况,您可以将您要上传的网站程序文件压缩成一个压缩文件,使用FLASHFXP等FTP软件进行断点续传,压缩文件上传之后再在服务器中进行解压缩操作即可。(也有小概率可能受到网络原因传输过程中压缩包损坏,需要再次上传,所以巨大文件建议分割压缩) ------------------------- 问题:无法ping通服务器地址怎么办?通过站长工具—超级ping来分析一下是否是全国范围内都无法ping通云服务器。超级ping地址:http://ping.chinaz.com/如果是全国范围内都突然无法ping通云服务器地址,但是服务器是在正常运行的则可以到www.aliyun.com上提交工单;如果只是本地无法ping通云服务器则在本地使用traceroute或者tracert命令来获取本地到云服务器的路由信息再到www.aliyun.com上提交工单,寻求aliyun的技术支持

qilu 2019-12-02 03:09:51 0 浏览量 回答数 0

回答

Checkpoint介绍 checkpoint机制是Flink可靠性的基石,可以保证Flink集群在某个算子因为某些原因(如 异常退出)出现故障时,能够将整个应用流图的状态恢复到故障之前的某一状态,保 证应用流图状态的一致性。Flink的checkpoint机制原理来自“Chandy-Lamport algorithm”算法。 每个需要checkpoint的应用在启动时,Flink的JobManager为其创建一个 CheckpointCoordinator,CheckpointCoordinator全权负责本应用的快照制作。 CheckpointCoordinator周期性的向该流应用的所有source算子发送barrier。 2.当某个source算子收到一个barrier时,便暂停数据处理过程,然后将自己的当前状 态制作成快照,并保存到指定的持久化存储中,最后向CheckpointCoordinator报告 自己快照制作情况,同时向自身所有下游算子广播该barrier,恢复数据处理 3.下游算子收到barrier之后,会暂停自己的数据处理过程,然后将自身的相关状态制作成快照,并保存到指定的持久化存储中,最后向CheckpointCoordinator报告自身 快照情况,同时向自身所有下游算子广播该barrier,恢复数据处理。 每个算子按照步骤3不断制作快照并向下游广播,直到最后barrier传递到sink算子,快照制作完成。 当CheckpointCoordinator收到所有算子的报告之后,认为该周期的快照制作成功; 否则,如果在规定的时间内没有收到所有算子的报告,则认为本周期快照制作失败 如果一个算子有两个输入源,则暂时阻塞先收到barrier的输入源,等到第二个输入源相 同编号的barrier到来时,再制作自身快照并向下游广播该barrier。具体如下图所示 两个输入源 checkpoint 过程 假设算子C有A和B两个输入源 在第i个快照周期中,由于某些原因(如处理时延、网络时延等)输入源A发出的 barrier先到来,这时算子C暂时将输入源A的输入通道阻塞,仅收输入源B的数据。 当输入源B发出的barrier到来时,算子C制作自身快照并向CheckpointCoordinator报 告自身的快照制作情况,然后将两个barrier合并为一个,向下游所有的算子广播。 当由于某些原因出现故障时,CheckpointCoordinator通知流图上所有算子统一恢复到某 个周期的checkpoint状态,然后恢复数据流处理。分布式checkpoint机制保证了数据仅被 处理一次(Exactly Once)。 持久化存储 目前,Checkpoint持久化存储可以使用如下三种: MemStateBackend 该持久化存储主要将快照数据保存到JobManager的内存中,仅适合作为测试以及 快照的数据量非常小时使用,并不推荐用作大规模商业部署。 FsStateBackend 该持久化存储主要将快照数据保存到文件系统中,目前支持的文件系统主要是 HDFS和本地文件。如果使用HDFS,则初始化FsStateBackend时,需要传入以 “hdfs://”开头的路径(即: new FsStateBackend("hdfs:///hacluster/checkpoint")), 如果使用本地文件,则需要传入以“file://”开头的路径(即:new FsStateBackend("file:///Data"))。在分布式情况下,不推荐使用本地文件。如果某 个算子在节点A上失败,在节点B上恢复,使用本地文件时,在B上无法读取节点 A上的数据,导致状态恢复失败。 RocksDBStateBackend RocksDBStatBackend介于本地文件和HDFS之间,平时使用RocksDB的功能,将数 据持久化到本地文件中,当制作快照时,将本地数据制作成快照,并持久化到 FsStateBackend中(FsStateBackend不必用户特别指明,只需在初始化时传入HDFS 或本地路径即可,如new RocksDBStateBackend("hdfs:///hacluster/checkpoint")或new RocksDBStateBackend("file:///Data"))。 如果用户使用自定义窗口(window),不推荐用户使用RocksDBStateBackend。在自 定义窗口中,状态以ListState的形式保存在StatBackend中,如果一个key值中有多 个value值,则RocksDB读取该种ListState非常缓慢,影响性能。用户可以根据应用 的具体情况选择FsStateBackend+HDFS或RocksStateBackend+HDFS。 语法 ​ val env = StreamExecutionEnvironment.getExecutionEnvironment() // start a checkpoint every 1000 ms env.enableCheckpointing(1000) // advanced options: // 设置checkpoint的执行模式,最多执行一次或者至少执行一次 env.getCheckpointConfig.setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE) // 设置checkpoint的超时时间 env.getCheckpointConfig.setCheckpointTimeout(60000) // 如果在只做快照过程中出现错误,是否让整体任务失败:true是 false不是 env.getCheckpointConfig.setFailTasksOnCheckpointingErrors(false) //设置同一时间有多少 个checkpoint可以同时执行 env.getCheckpointConfig.setMaxConcurrentCheckpoints(1) ​ 例子 需求 假定用户需要每隔1秒钟需要统计4秒中窗口中数据的量,然后对统计的结果值进行checkpoint处理 数据规划 使用自定义算子每秒钟产生大约10000条数据。 
 产生的数据为一个四元组(Long,String,String,Integer)—------(id,name,info,count)。 
 数据经统计后,统计结果打印到终端输出。 
 打印输出的结果为Long类型的数据。 
 开发思路 
 source算子每隔1秒钟发送10000条数据,并注入到Window算子中。 window算子每隔1秒钟统计一次最近4秒钟内数据数量。 每隔1秒钟将统计结果打印到终端 每隔6秒钟触发一次checkpoint,然后将checkpoint的结果保存到HDFS中。 //发送数据形式 case class SEvent(id: Long, name: String, info: String, count: Int) class SEventSourceWithChk extends RichSourceFunction[SEvent]{ private var count = 0L private var isRunning = true private val alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYX0987654321" // 任务取消时调用 override def cancel(): Unit = { isRunning = false } //// source算子的逻辑,即:每秒钟向流图中注入10000个元组 override def run(sourceContext: SourceContext[SEvent]): Unit = { while(isRunning) { for (i <- 0 until 10000) { sourceContext.collect(SEvent(1, "hello-"+count, alphabet,1)) count += 1L } Thread.sleep(1000) } } } /** 该段代码是流图定义代码,具体实现业务流程,另外,代码中窗口的触发时间使 用了event time。 */ object FlinkEventTimeAPIChkMain { def main(args: Array[String]): Unit ={ val env = StreamExecutionEnvironment.getExecutionEnvironment env.setStateBackend(new FsStateBackend("hdfs://hadoop01:9000/flink-checkpoint/checkpoint/")) env.getCheckpointConfig.setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE) env.getCheckpointConfig.setCheckpointInterval(6000) env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime) // 应用逻辑 val source: DataStream[SEvent] = env.addSource(new SEventSourceWithChk) source.assignTimestampsAndWatermarks(new AssignerWithPeriodicWatermarks[SEvent] { // 设置watermark override def getCurrentWatermark: Watermark = { new Watermark(System.currentTimeMillis()) } // 给每个元组打上时间戳 override def extractTimestamp(t: SEvent, l: Long): Long = { System.currentTimeMillis() } }) .keyBy(0) .window(SlidingEventTimeWindows.of(Time.seconds(4), Time.seconds(1))) .apply(new WindowStatisticWithChk) .print() env.execute() } } //该数据在算子制作快照时用于保存到目前为止算子记录的数据条数。 // 用户自定义状态 class UDFState extends Serializable{ private var count = 0L // 设置用户自定义状态 def setState(s: Long) = count = s // 获取用户自定状态 def getState = count } //该段代码是window算子的代码,每当触发计算时统计窗口中元组数量。 class WindowStatisticWithChk extends WindowFunction[SEvent, Long, Tuple, TimeWindow] with ListCheckpointed[UDFState]{ private var total = 0L // window算子的实现逻辑,即:统计window中元组的数量 override def apply(key: Tuple, window: TimeWindow, input: Iterable[SEvent], out: Collector[Long]): Unit = { var count = 0L for (event <- input) { count += 1L } total += count out.collect(count) } // 从自定义快照中恢复状态 override def restoreState(state: util.List[UDFState]): Unit = { val udfState = state.get(0) total = udfState.getState } // 制作自定义状态快照 override def snapshotState(checkpointId: Long, timestamp: Long): util.List[UDFState] = { val udfList: util.ArrayList[UDFState] = new util.ArrayList[UDFState] val udfState = new UDFState udfState.setState(total) udfList.add(udfState) udfList } } flink-SQL Table API和SQL捆绑在flink-table Maven工件中。必须将以下依赖项添加到你的项目才能使用Table API和SQL: org.apache.flink flink-table_2.11 1.5.0 另外,你需要为Flink的Scala批处理或流式API添加依赖项。对于批量查询,您需要添加: org.apache.flink flink-scala_2.11 1.5.0 Table API和SQL程序的结构 Flink的批处理和流处理的Table API和SQL程序遵循相同的模式; 所以我们只需要使用一种来演示即可 要想执行flink的SQL语句,首先需要获取SQL的执行环境: 两种方式(batch和streaming): // *************** // STREAMING QUERY // *************** val sEnv = StreamExecutionEnvironment.getExecutionEnvironment // create a TableEnvironment for streaming queries val sTableEnv = TableEnvironment.getTableEnvironment(sEnv) // *********** // BATCH QUERY // *********** val bEnv = ExecutionEnvironment.getExecutionEnvironment // create a TableEnvironment for batch queries val bTableEnv = TableEnvironment.getTableEnvironment(bEnv) 通过getTableEnvironment可以获取TableEnviromment;这个TableEnviromment是Table API和SQL集成的核心概念。它负责: 在内部目录中注册一个表 注册外部目录 执行SQL查询 注册用户定义的(标量,表格或聚合)函数 转换DataStream或DataSet成Table 持有一个ExecutionEnvironment或一个参考StreamExecutionEnvironment 在内部目录中注册一个表 TableEnvironment维护一个按名称注册的表的目录。有两种类型的表格,输入表格和输出表格。 输入表可以在Table API和SQL查询中引用并提供输入数据。输出表可用于将表API或SQL查询的结果发送到外部系统 输入表可以从各种来源注册: 现有Table对象,通常是表API或SQL查询的结果。 TableSource,它访问外部数据,例如文件,数据库或消息传递系统。 DataStream或DataSet来自DataStream或DataSet程序。 输出表可以使用注册TableSink。 注册一个表 // get a TableEnvironment val tableEnv = TableEnvironment.getTableEnvironment(env) // register the Table projTable as table "projectedX" tableEnv.registerTable("projectedTable", projTable) // Table is the result of a simple projection query val projTable: Table = tableEnv.scan("projectedTable ").select(...) 注册一个tableSource TableSource提供对存储在诸如数据库(MySQL,HBase等),具有特定编码(CSV,Apache [Parquet,Avro,ORC],...)的文件的存储系统中的外部数据的访问或者消息传送系统(Apache Kafka,RabbitMQ,...) // get a TableEnvironment val tableEnv = TableEnvironment.getTableEnvironment(env) // create a TableSource val csvSource: TableSource = new CsvTableSource("/path/to/file", ...) // register the TableSource as table "CsvTable" tableEnv.registerTableSource("CsvTable", csvSource) 注册一个tableSink 注册TableSink可用于将表API或SQL查询的结果发送到外部存储系统,如数据库,键值存储,消息队列或文件系统(使用不同的编码,例如CSV,Apache [Parquet ,Avro,ORC],...) // get a TableEnvironment val tableEnv = TableEnvironment.getTableEnvironment(env) // create a TableSink val csvSink: TableSink = new CsvTableSink("/path/to/file", ...) // define the field names and types val fieldNames: Array[String] = Array("a", "b", "c") val fieldTypes: Array[TypeInformation[_]] = Array(Types.INT, Types.STRING, Types.LONG) // register the TableSink as table "CsvSinkTable" tableEnv.registerTableSink("CsvSinkTable", fieldNames, fieldTypes, csvSink) 例子 //创建batch执行环境 val env = ExecutionEnvironment.getExecutionEnvironment //创建table环境用于batch查询 val tableEnvironment = TableEnvironment.getTableEnvironment(env) //加载外部数据 val csvTableSource = CsvTableSource.builder() .path("data1.csv")//文件路径 .field("id" , Types.INT)//第一列数据 .field("name" , Types.STRING)//第二列数据 .field("age" , Types.INT)//第三列数据 .fieldDelimiter(",")//列分隔符,默认是"," .lineDelimiter("\n")//换行符 .ignoreFirstLine()//忽略第一行 .ignoreParseErrors()//忽略解析错误 .build() //将外部数据构建成表 tableEnvironment.registerTableSource("tableA" , csvTableSource) //TODO 1:使用table方式查询数据 val table = tableEnvironment.scan("tableA").select("id , name , age").filter("name == 'lisi'") //将数据写出去 table.writeToSink(new CsvTableSink("bbb" , "," , 1 , FileSystem.WriteMode.OVERWRITE)) //TODO 2:使用sql方式 // val sqlResult = tableEnvironment.sqlQuery("select id,name,age from tableA where id > 0 order by id limit 2") //// //将数据写出去 // sqlResult.writeToSink(new CsvTableSink("aaaaaa.csv", ",", 1, FileSystem.WriteMode.OVERWRITE)) able和DataStream和DataSet的集成 1:将DataStream或DataSet转换为表格 在上面的例子讲解中,直接使用的是:registerTableSource注册表 对于flink来说,还有更灵活的方式:比如直接注册DataStream或者DataSet转换为一张表。 然后DataStream或者DataSet就相当于表,这样可以继续使用SQL来操作流或者批次的数据 语法: // get TableEnvironment // registration of a DataSet is equivalent Env:DataStream val tableEnv = TableEnvironment.getTableEnvironment(env) val stream: DataStream[(Long, String)] = ... // register the DataStream as Table "myTable" with fields "f0", "f1" tableEnv.registerDataStream("myTable", stream) 例子 object SQLToDataSetAndStreamSet { def main(args: Array[String]): Unit = { // set up execution environment val env = StreamExecutionEnvironment.getExecutionEnvironment val tEnv = TableEnvironment.getTableEnvironment(env) //构造数据 val orderA: DataStream[Order] = env.fromCollection(Seq( Order(1L, "beer", 3), Order(1L, "diaper", 4), Order(3L, "rubber", 2))) val orderB: DataStream[Order] = env.fromCollection(Seq( Order(2L, "pen", 3), Order(2L, "rubber", 3), Order(4L, "beer", 1))) // 根据数据注册表 tEnv.registerDataStream("OrderA", orderA) tEnv.registerDataStream("OrderB", orderB) // union the two tables val result = tEnv.sqlQuery( "SELECT * FROM OrderA WHERE amount > 2 UNION ALL " + "SELECT * FROM OrderB WHERE amount < 2") result.writeToSink(new CsvTableSink("ccc" , "," , 1 , FileSystem.WriteMode.OVERWRITE)) env.execute() } } case class Order(user: Long, product: String, amount: Int) 将表转换为DataStream或DataSet A Table可以转换成a DataStream或DataSet。通过这种方式,可以在Table API或SQL查询的结果上运行自定义的DataStream或DataSet程序 1:将表转换为DataStream 有两种模式可以将 Table转换为DataStream: 1:Append Mode 将一个表附加到流上 2:Retract Mode 将表转换为流 语法格式: // get TableEnvironment. // registration of a DataSet is equivalent // ge val tableEnv = TableEnvironment.getTableEnvironment(env) // Table with two fields (String name, Integer age) val table: Table = ... // convert the Table into an append DataStream of Row val dsRow: DataStream[Row] = tableEnv.toAppendStreamRow // convert the Table into an append DataStream of Tuple2[String, Int] val dsTuple: DataStream[(String, Int)] dsTuple = tableEnv.toAppendStream(String, Int) // convert the Table into a retract DataStream of Row. // A retract stream of type X is a DataStream[(Boolean, X)]. // The boolean field indicates the type of the change. // True is INSERT, false is DELETE. val retractStream: DataStream[(Boolean, Row)] = tableEnv.toRetractStreamRow 例子: object TableTODataSet_DataStream { def main(args: Array[String]): Unit = { //构造数据,转换为table val data = List( Peoject(1L, 1, "Hello"), Peoject(2L, 2, "Hello"), Peoject(3L, 3, "Hello"), Peoject(4L, 4, "Hello"), Peoject(5L, 5, "Hello"), Peoject(6L, 6, "Hello"), Peoject(7L, 7, "Hello World"), Peoject(8L, 8, "Hello World"), Peoject(8L, 8, "Hello World"), Peoject(20L, 20, "Hello World")) val env = StreamExecutionEnvironment.getExecutionEnvironment env.setParallelism(1) val tEnv = TableEnvironment.getTableEnvironment(env) val stream = env.fromCollection(data) val table: Table = tEnv.fromDataStream(stream) //TODO 将table转换为DataStream----[数控等离子切割机](http://www.158cnc.com)[http://www.158cnc.com](http://www.158cnc.com)将一个表附加到流上Append Mode val appendStream: DataStream[Peoject] = tEnv.toAppendStream[Peoject](table) //TODO 将表转换为流Retract Mode true代表添加消息,false代表撤销消息 val retractStream: DataStream[(Boolean, Peoject)] = tEnv.toRetractStream[Peoject](table) retractStream.print() env.execute() } } case class Peoject(user: Long, index: Int, content: String) 将表转换为DataSet 语法格式 // get TableEnvironment // registration of a DataSet is equivalent val tableEnv = TableEnvironment.getTableEnvironment(env) // Table with two fields (String name, Integer age) val table: Table = ... // convert the Table into a DataSet of Row val dsRow: DataSet[Row] = tableEnv.toDataSetRow // convert the Table into a DataSet of Tuple2[String, Int] val dsTuple: DataSet[(String, Int)] = tableEnv.toDataSet(String, Int) 例子: case class Peoject(user: Long, index: Int, content: String) object TableTODataSet{ def main(args: Array[String]): Unit = { //构造数据,转换为table val data = List( Peoject(1L, 1, "Hello"), Peoject(2L, 2, "Hello"), Peoject(3L, 3, "Hello"), Peoject(4L, 4, "Hello"), Peoject(5L, 5, "Hello"), Peoject(6L, 6, "Hello"), Peoject(7L, 7, "Hello World"), Peoject(8L, 8, "Hello World"), Peoject(8L, 8, "Hello World"), Peoject(20L, 20, "Hello World")) //初始化环境,加载table数据 val env = ExecutionEnvironment.getExecutionEnvironment env.setParallelism(1) val tableEnvironment = TableEnvironment.getTableEnvironment(env) val collection: DataSet[Peoject] = env.fromCollection(data) val table: Table = tableEnvironment.fromDataSet(collection) //TODO 将table转换为dataSet val toDataSet: DataSet[Peoject] = tableEnvironment.toDataSet[Peoject](table) toDataSet.print() // env.execute() } }

凹凹凸曼 2020-06-16 19:23:12 0 浏览量 回答数 0

回答

Layout Go工程项目的整体组织 首先我们看一下整个 Go 工程是怎么组织起来的。 很多同事都在用 GitLab 的,GitLab 的一个 group 里面可以创建很多 project。如果我们进行微服务化改造,以前很多巨石架构的应用可能就拆成了很多个独立的小应用。那么这么多小应用,你是要建 N 个 project 去维护,还是说按照部门或者组来组织这些项目呢?在 B 站的话,我们之前因为是 Monorepo,现在是按照部门去组织管理代码,就是说在单个 GitLab 的 project 里面是有多个 app 的,每一个 app 就表示一个独立的微服务,它可以独立去交付部署。所以说我们看到下面这张图里面,app 的目录里面是有好多个子目录的,比方说我们的评论服务,会员服务。跟 app 同级的目录有一个叫 pkg,可以存放业务有关的公共库。这是我们的一个组织方式。当然,还有一种方式,你可以按照 GitLab 的 project 去组织,但我觉得这样的话可能相对要创建的 project 会非常多。 如果你按部门组织的话,部门里面有很多 app,app 目录怎么去组织?我们实际上会给每一个 app 取一个全局唯一名称,可以理解为有点像 DNS 那个名称。我们对业务的命名也是一样的,我们基本上是三段式的命名,比如账号业务,它是一个账号业务、服务、子服务的三段命名。三段命名以后,在这个 app 目录里面,你也可以按照这三层来组织。比如我们刚刚说的账号目录,我可能就是 account 目录,然后 VIP,在 VIP 目录下可能会放各种各样的不同角色的微服务,比方说可能有一些是做 job,做定时任务或者流式处理的一些任务,有可能是做对外暴露的 API 的一些服务,这个就是我们关于整个大的 app 的组织的一种形式。 微服务中的 app 服务分类 微服务中单个 app 的服务里又分为几类不同的角色。我们基本上会把 app 分为 interface(BFF)、service、job(补充:还有一个 task,偏向定时执行,job 偏向流式) 和 admin。 Interface 是对外的业务网关服务,因为我们最终是面向终端用户的 API,面向 app,面向 PC 场景的,我们把这个叫成业务网关。因为我们不是统一的网关,我们可能是按照大的业务线去独立分拆的一些子网关,这个的话可以作为一个对外暴露的 HTTP 接口的一个目录去组织它的代码,当然也可能是 gRPC 的(参考 B 站对外的 gRPC Moss 分享)。 Service 这个角色主要是面向对内通信的微服务,它不直接对外。也就是说,业务网关的请求会转发或者是会 call 我们的内部的 service,它们之间的通讯可能是使用自己的 RPC,在 b 站我们主要是使用 gRPC。使用 gRPC 通讯以后,service 它因为不直接对外,service 之间可能也可以相互去 call。 Admin 区别于 service,很多应用除了有面向用户的一些接口,实际上还有面向企业内部的一些运营侧的需求,通常数据权限更高,从安全设计角度需要代码物理层面隔离,避免意外。 第四个是 ecode。我们当时也在内部争论了很久,我们的错误码定义到底是放在哪里?我们目前的做法是,一个应用里面,假设你有多种角色,它们可能会复用一些错误码。所以说我们会把我们的 ecode 给单独抽出来,在这一个应用里面是可以复用的。注意,它只在这一个应用里面复用,它不会去跨服跨目录应用,它是针对业务场景的一个业务错误码的组织。 App 目录组织 我们除了一个应用里面多种角色的这种情况,现在展开讲一下具体到一个 service 里面,它到底是怎么组织的。我们的 app 目录下大概会有 api、cmd、configs、 internal 目录,目录里一般还会放置 README、CHANGELOG、OWNERS。 API 是放置 api 定义以及对应的生成的 client 代码,包含基于 pb 定义(我们使用 PB 作为 DSL 描述 API) 生成的 swagger.json。 而 cmd,就是放 main 函数的。Configs 目录主要是放一些服务所需的配置文件,比方说说我们可能会使用 TOML 或者是使用 YAML 文件。 Internal 的话,它里面有四个子目录,分别是 model、dao、service 和 server。Model 的定位职责就是对我们底层存储的持久化层或者存储层的数据的映射,它是具体的 Go 的一个 struct。我们再看 dao,你实际就是要操作 MySQL 或者 Redis,最终返回的就是这些 model(存储映射)。Service 组织起来比较简单,就是我们通过 dao 里面的各个方法来完成一个完整的业务逻辑。我们还看到有个 server,因为我一个微服务有可能企业内部不一定所有 RPC 都统一,那我们处于过渡阶段,所以 server 里面会有两个小目录,一个是 HTTP 目录,暴露的是 HTTP 接口,还有一个是 gRPC 目录,我们会暴露 gRPC 的协议。所以在 server 里面,两个不同的启动的 server,就是说一个服务和启动两个端口,然后去暴露不同的协议,HTTP 接 RPC,它实际上会先 call 到 service,service 再 call 到 dao,dao 实际上会使用 model 的一些数据定义 struct。但这里面有一个非常重要的就是,因为这个结构体不能够直接返回给我们的 api 做外对外暴露来使用,为什么?因为可能从数据库里面取的敏感字段,当我们实际要返回到 api 的时候,可能要隐藏掉一些字段,在 Java 里面,会抽象的一个叫 DTO 的对象,它只是用来传输用的,同理,在我们 Go 里面,实际也会把这些 model 的一些结构体映射成 api 里面的结构体(基于 PB Message 生成代码后的 struct)。 Rob Pike 当时说过的一句话,a little copying is better than a little dependency,我们就遵循了这个理念。在我们这个目录结构里面,有 internal 目录,我们知道 Go 的目录只允许这个目录里面的人去 import 到它,跨目录的人实际是不能直接引用到它的。所以说,我们看到 service 有一个 model,那我的 job 代码,我做一些定时任务的代码或者是我的网关代码有可能会映射同一个 model,那是不是要把这个 model 放到上一级目录让大家共享?对于这个问题,其实我们当时内部也争论过很久。我们认为,每一个微服务应该只对自己的 model 负责,所以我们宁愿去做一小部分的代码 copy,也不会去为了几个服务之间要共享这一点点代码,去把这个 model 提到和 app 目录级别去共用,因为你一改全错,当然了,你如果是拷贝的话,就是每个地方都要去改,那我们觉得,依赖的问题可能会比拷贝代码相对来说还是要更复杂的。 这个是一个标准的 PB 文件,就是我们内部的一个 demo 的 service。最上面的 package 是 PB 的包名,demo.service.v1,这个包使用的是三段式命名,全局唯一的名称。那这个名称为什么不是用 ID?我见过有些公司对内部做的 CMDB 或者做服务树去管理企业内部微服务的时候,是用了一些名称加上 ID 来搞定唯一性,但是我们知道后面那一串 ID 数字是不容易被传播或者是不容易被记住的,这也是 DNS 出来的一个意义,所以我们用绝对唯一的一个名称来表示这个包的名字,在后面带上这一个 PB 文件的版本号 V1。 我们看第二段定义,它有个 Service Demo 代码,其实就表示了我们这个服务要启动的服务的一个名称,我们看到这个服务名称里面有很多个 RPC 的方法,表示最终这一个应用或者这个 service 要对外暴露这几个 RPC 的方法。这里面有个小细节,我们看一下 SayHello 这个方法,实际它有 option 的一个选项。通过这一个 PB 文件,你既可以描述出你要暴露的是 gRPC 协议,又暴露出 HTTP 的一个接口,这个好处是你只需要一个 PB 文件描述你暴露的所有 api。我们回想一下,我们刚刚目录里面有个 api 目录,实际这里面就是放这一个 PB 文件,描述这一个工程到底返回的接口是什么。不管是 gRPC 还是 HTTP 都是这一个文件。还有一个好处是什么?实际上我们可以在 PB 文件里面加上很多的注释。用 PB 文件的好处是你不需要额外地再去写文档,因为写文档和写服务的定义,它本质上是两个步骤,特别容易不一致,接口改了,文档不同步。我们如果基于这一个 PB 文件,它生成的 service 代码或者调用代码或者是文档都是唯一的。 依赖顺序与 api 维护 就像我刚刚讲到的,model 是一个存储层的结构体的一一映射,dao 处理一些数据读写包,比方说数据库缓存,server 的话就是启动了一些 gRPC 或者 HTTP Server,所以它整个依赖顺序如下:main 函数启动 server,server 会依赖 api 定义好的 PB 文件,定义好这些方法或者是服务名之后,实际上生成代码的时候,比方说 protocbuf 生成代码的时候,它会把抽象 interface 生成好。然后我们看一下 service,它实际上是弱依赖的 api,就是说我的 server 启动以后,要注册一个具体的业务代码的逻辑,映射方法,映射名字,实际上是弱依赖的 api 生成的 interface 的代码,你就可以很方便地启动你的 server,把你具体的 service 的业务逻辑给注入到这个 server,和方法进行一一绑定。最后,dao 和 service 实际上都会依赖这个 model。 因为我们在 PB 里面定义了一些 message,这些 message 生成的 Go 的 struct 和刚刚 model 的 struct 是两个不同的对象,所以说你要去手动 copy 它,把它最终返回。但是为了快捷,你不可能每次手动去写这些代码,因为它要做 mapping,所以我们又把 K8s 里类似 DeepCopy 的两个结构体相互拷贝的工具给抠出来了,方便我们内部 model 和 api 的 message 两个代码相互拷贝的时候,可以少写一些代码,减少一些工作量。 上面讲的就是我们关于工程的一些 layout 实践。简单回溯一下,大概分为几块,第一就是 app 是怎么组织的,app 里面有多种角色的服务是怎么组织的,第三就是一个 app 里面的目录是怎么组织的,最后我重点讲了一下 api 是怎么维护的。 Unittest 测试方法论 现在回顾一下单元测试。我们先看这张图,这张图是我从《Google 软件测试之道》这本书里面抠出来的,它想表达的意思就是最小型的测试不能给我们的最终项目的质量带来最大的信心,它比较容易带来一些优秀的代码质量,良好的异常处理等等。但是对于一个面向用户场景的服务,你只有做大型测试,比方做接口测试,在 App 上验收功能的这种测试,你应用交付的信心可能会更足。这个其实要表达的就是一个“721 原则”。我们就是 70% 写小型测试,可以理解为单元测试,因为它相对来说好写,针对方法级别。20% 是做一些中型测试,可能你要连调几个项目去完成你的 api。剩下 10% 是大型测试,因为它是最终面向用户场景的,你要去使用我们的 App,或者用一些测试 App 去测试它。这个就是测试的一些简单的方法论。 单元测试原则 我们怎么去对待 Go 里面的单元测试?在《Google 软件测试之道》这本书里面,它强调的是对于一个小型测试,一个单元测试,它要有几个特质。它不能依赖外部的一些环境,比如我们公司有测试环境,有持续集成环境,有功能测试环境,你不能依赖这些环境构建自己的单元测试,因为测试环境容易被破坏,它容易有数据的变更,数据容易不一致,你之前构建的案例重跑的话可能就会失败。 我觉得单元测试主要有四点要求。第一,快速,你不能说你跑个单元测试要几分钟。第二,要环境一致,也就是说你跑测试前和跑测试后,它的环境是一致的。第三,你写的所有单元测试的方法可以以任意顺序执行,不应该有先后的依赖,如果有依赖,也是在你测试的这个方法里面,自己去 setup 和 teardown,不应该有 Test Stub 函数存在顺序依赖。第四,基于第三点,你可以做并行的单元测试,假设我写了一百个单元测试,一个个跑肯定特别慢。 doker-compose 最近一段时间,我们演进到基于 docker-compose 实现跨平台跨语言环境的容器依赖管理方案,以解决运行 unittest 场景下的容器依赖问题。 首先,你要跑单元测试,你不应该用 VPN 连到公司的环境,好比我在星巴克点杯咖啡也可以写单元测试,也可以跑成功。基于这一点,Docker 实际上是非常好的解决方式。我们也有同学说,其他语言有一些 in-process 的 mock,是不是可以启动 MySQL 的 mock ,然后在 in-process 上跑?可以,但是有一个问题,你每一个语言都要写一个这样的 mock ,而且要写非常多种,因为我们中间件越来越多,MySQL,HBase,Kafka,什么都有,你很难覆盖所有的组件 Mock。这种 mock 或者 in-process 的实现不能完整地代表线上的情况,比方说,你可能 mock 了一个 MySQL,检测到 query 或者 insert ,没问题,但是你实际要跑一个 transaction,要验证一些功能就未必能做得非常完善了。所以基于这个原因,我们当时选择了 docker-compose,可以很好地解决这个问题。 我们对开发人员的要求就是,你本地需要装 Docker,我们开发人员大部分都是用 Mac,相对来说也比较简单,Windows 也能搞定,如果是 Linux 的话就更简单了。本地安装 Docker,本质上的理解就是无侵入式的环境初始化,因为你在容器里面,你拉起一个 MySQL,你自己来初始化数据。在这个容器被销毁以后,它的环境实际上就满足了我们刚刚提的环境一致的问题,因为它相当于被重置了,也可以很方便地快速重置环境,也可以随时随地运行,你不需要依赖任何外部服务,这个外部服务指的是像 MySQL 这种外部服务。当然,如果你的单元测试依赖另外一个 RPC 的 service 的话,PB 的定义会生成一个 interface,你可以把那个 interface 代码给 mock 掉,所以这个也是能做掉的。对于小型测试来说,你不依赖任何外部环境,你也能够快速完成。 另外,docker-compose 是声明式的 API,你可以声明你要用 MySQL,Redis,这个其实就是一个配置文件,非常简单。这个就是我们在单元测试上的一些实践。 我们现在看一下,service 目录里面多了一个 test 目录,我们会在这个里面放 docker-compose 的 YAML 文件来表示这次单元化测试需要初始化哪些资源,你要构建自己的一些测试的数据集。因为是这样的,你是写 dao 层的单元测试的话,可能就需要 database.sql 做一些数据的初始化,如果你是做 service 的单元测试的话,实际你可以把整个 dao 给 mock 掉,我觉得反而还相对简单,所以我们主要针对场景就是在 dao 里面偏持久层的,利用 docker-compose 来解决。 容器的拉起,容器的销毁,这些工作到底谁来做?是开发同学自己去拉起和销毁,还是说你能够把它做成一个 Library,让我们的同学写单元测试的时候比较方便?我倾向的是后者。所以在我们最终写单元测试的时候,你可以很方便地 setup 一个依赖文件,去 setup 你的容器的一些信息,或者把它销毁掉。所以说,你把环境准备好以后,最终可以跑测试代码也非常方便。当然我们也提供了一些命令函,就是 binary 的一些工具,它可以针对各个语言方便地拉起容器和销毁容器,然后再去执行代码,所以我们也提供了一些快捷的方式。 刚刚我也提到了,就是我们对于 service 也好,API 也好,因为依赖下层的 dao 或者依赖下层的 service,你都很方便 mock 掉,这个写单元测试相对简单,这个我不展开讲,你可以使用 GoMock 或者 GoMonkey 实现这个功能。 Toolchain 我们利用多个 docker-compose 来解决 dao 层的单元测试,那对于我刚刚提到的项目的一些规范,单元测试的一些模板,甚至是我写了一些 dao 的一些占位符,或者写了一些 service 代码的一些占位符,你有没有考虑过这种约束有没有人会去遵循?所以我这里要强调一点,工具一定要大于约束和文档,你写了约束,写了文档,那么你最终要通过工具把它落实。所以在我们内部会有一个类似 go tool 的脚手架,叫 Kratos Tool,把我们刚刚说的约定规范都通过这个工具一键初始化。 对于我们内部的工具集,我们大概会分为几块。第一块就是 API 的,就是你写一个 PB 文件,你可以基于这个 PB 文件生成 gRPC,HTTP 的框架代码,你也可以基于这个 PB 文件生成 swagger 的一些 JSON 文件或者是 Markdown 文件。当然了,我们还会生成一些 API,用于 debug 的 client 方便去调试,因为我们知道,gRPC 调试起来相对麻烦一些,你要去写代码。 还有一些工具是针对 project 的,一键生成整个应用的 layout,非常方便。我们还提了 model,就是方便 model 和 DTO,DTO 就是 API 里面定义的 message 的 struct 做 DeepCopy,这个也是一个工具。 对于 cache 的话,我们操作 memcache,操作 Redis 经常会要做什么逻辑?假如我们有一个 cache aside 场景,你读了一个 cache,cache miss 要回原 DB,你要把这个缓存回塞回去,甚至你可能这个回塞缓存想异步化,甚至是你要去读这个 DB 的时候要做归并回源(singleflight),我们把这些东西做成一些工具,让它整个回源到 DB 的逻辑更加简单,就是把这些场景描述出来,然后你通过工具可以一键生成这些代码,所以也是会比较方便。 我们再看最后一个,就是 test 的一些工具。我们会基于项目里面,比方说 dao 或者是 service 定义的 interface 去帮你写好 mock 的代码,我直接在里面填,只要填代码逻辑就行了,所以也会加速我们的生产。 上图是 Kratos 的一个 demo,基本就是支持了一些 command。这里就是一个 kratos new kratos-demo 的一个工程,-d YourPath 把它导到某一个路径去,--proto 顺便把 API 里面的 proto 代码也生成了,所以非常简单,一行就可以很快速启动一个 HTTP 或者 gRPC 服务。 我们知道,一个微服务的框架实际非常重,有很多初始化的方式等等,非常麻烦。所以说,你通过脚手架的方式就会非常方便,工具大于约定和文档这个这个理念就是这么来的。 Configuration 讲完工具以后,最后讲一下配置文件。我为什么单独提一下配置文件?实际它也是工程化的一部分。我们一个线上的业务服务包含三大块,第一,应用程序,第二,配置文件,第三,数据集。配置文件最容易导致线上出 bug,因为你改一行配置,整个行为可能跟 App 想要的行为完全不一样。而且我们的代码的开发交付需要经过哪些流程?需要 commit 代码,需要 review,需要单元测试,需要 CD,需要交付到线上,需要灰度,它的整个流程是非常长的。在一步步的环境里面,你的 bug 需要前置解决,越前置解决,成本越低。因为你的代码的开发流程是这么一个 pipeline,所以 bug 最终流到线上的概率很低,但是配置文件没有经过这么复杂的流程,可能大家发现线上有个问题,决定要改个线上配置,就去配置中心或者配置文件改,然后 push 上线,接着就问题了,这个其实很常见。 从 SRE 的角度来说,导致线上故障的主因就是来自配置变更,所以 SRE 很大的工作是控制变更管理,如果能把变更管理做好,实际上很多问题都不会出现。配置既然在整个应用里面这么重要,那在我们整个框架或者在 Go 的工程化实践里面,我们应该对配置文件做一些什么事情? 我觉得是几个。第一,我们的目标是什么?配置文件不应该太复杂,我见过很多框架,或者是业务的一些框架,它实际功能非常强大,但是它的配置文件超级多。我就发现有个习惯,只要有一个同事写错了这个配置,当我新起一个项目的时候,一定会有人把这个错误的配置拷贝到另外一个系统里面去。然后当发现这个应用出问题的时候,我们一般都会内部说一下,你看看其他同事有没有也配错的,实际这个配错概率非常高。因为你的配置选项越多,复杂性越高,它越容易出错。所以第一个要素就是说,尽量避免复杂的配置文件。配得越多,越容易出错。 第二,实际我们的配置方式也非常多,有些用 JSON,有些用 YAML,有些用 Properties,有些用 INI。那能不能收敛成通用的一种方式呢?无论它是用 Python 的脚本也好,或者是用 JSON 也好,你只要有一种唯一的约定,不需要太多样的配置方式,对我们的运维,对我们的 SRE 同时来说,他跨项目的变更成本会变低。 第三,一定要往简单化去努力。这句话其实包含了几个方面的含义。首先,我们很多配置它到底是必须的还是可选的,如果是可选,配置文件是不是就可以把它踢掉,甚至不要出现?我曾经有一次看到我们 Java 同事的配置 retry 有一个重试默认是零,内部重试是 80 次,直接把 Redis cluster 打故障了,为什么?其实这种事故很低级,所以简单化努力的另外一层含义是指,我们在框架层面,尤其是提供 SDK 或者是提供 framework 的这些同事尽量要做一些防御编程,让这种错配漏配也处于一个可控的范围,比方重试 80 次,你觉得哪个 SDK 会这么做?所以这个是我们要考虑的。但是还有一点要强调的是,我们对于业务开发的同事,我们的配置应该足够的简单,这个简单还包含,如果你的日志基本上都是写在这个目录,你就不要提供这个配置给他,反而不容易出错。但是对于我们内部的一些 infrastructure,它可能需要非常复杂的配置来优化,根据我的场景去做优化,所以它是两种场景,一种是业务场景,足够简单,一种是我要针对我的通用的 infrastructure 去做场景的优化,需要很复杂的配置,所以它是两种场景,所以我们要想清楚你的业务到底是哪一种形态。 还有一个问题就是我们配置文件一定要做好权限的变更和跟踪,因为我们知道上线出问题的时候,我们的第一想法不是查 bug,是先止损,止损先找最近有没有变更。如果发现有变更,一般是先回滚,回滚的时候,我们通常只回滚了应用程序,而忘记回滚了配置。每个公司可能内部的配置中心,或者是配置场景,或者跟我们的二进制的交付上线都不一样,那么这里的理念就是你的应用程序和配置文件一定是同一个版本,或者是某种意义上让他们产生一个版本的映射,比方说你的应用程序 1.0,你的配置文件 2.0,它们之间存在一个强绑定关系,我们在回滚的时候应该是一起回滚的。我们曾经也因为类似的一些不兼容的配置的变更,二进制程序上线,但配置文件忘记回滚,出现过事故,所以这个是要强调的。 另外,配置的变更也要经过 review,如果没问题,应该也是按照 App 发布一样,先灰度,再放量,再全量等等类似的一种方式去推,演进式的这种发布,我们也叫滚动发布,我觉得配置文件也是一样的思路。 加入阿里云钉钉群享福利:每周技术直播,定期群内有奖活动、大咖问答 原文链接

有只黑白猫 2020-01-09 17:29:54 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站