启动检查|学习笔记

简介: 快速学习启动检查

开发者学堂课程【阿里巴巴分布式服务框架 Dubbo 快速入门启动检查】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/624/detail/9466


启动检查


演示启动检查

上节课说了 dubbo 的配置规则以及属性的覆盖策略,dubbo 里到底有多少配置,官方文档在示例中一一列举了 dubbo 支持的所有配置,这节课先演示几个常用的设置,第一项为启动时检查,这项在开发中常用,开发中有一个服务提供者,也有一个服务的消费者,默认他们都要注册到注册中心去,消费者要从注册中心获取提供者的调用地址,如果某一天,注册中心里没有提供者,那就启动了消费者,那消费者在启动期间默认会报错,会发现它需要的服务不在注册中心,可通过调整启动时检查,默认 check=“true”,即要检查它要消费的服务是不是已经在注册中心,如果没有就会报错,而我们把启动时检查关掉,check=“false”,就可以跳过检查,消费者自动启动,只有在调用的时候才去注册中心检查服务当前是否可用。测试一下效果,以 user-service-provider 为例,以前 user-service 是服务提供者,order-service 是服务消费者,在我们没有将服务提供者注册到注册中心,控制台为此时没有注册中心,那直接启动消费者会是什么的效果?

image.png

把此图片中的调用注掉

即时不做代码调用,进行测试

image.png

会看到 fail to check,检查到服务状态有异常,No provider available 没有可服务的提供者。

以上就是启动时的检查,一旦检查失败,启动就会报错,程序中止,为了能用期间,在服务消费者里设置属性,此处有一个引用远程服务,将 check 改成 check=“false”,让其启动时不检查重新进行测试。

image.png

重新进行测试

image.png

成功启动,并且控制台打印调用完成,也就是说,并没有来做检查;当我们真正调用时,向注册中心发起检查,此时配置用的 dubbo:reference,配置了一个远程应用的服务,让它启用不检查,后续消费者里要引用非常多的服务,一一配置不检查也是麻烦的,可用另外一个标签 dubbo consumer,统一配置消费者的所有规则,

统一规则的配置即为 reference 的默认值,即可在此处写 check=“false“,也就是说所有的 reference 配置都是 check=”false“。

代码为

<!--配置当前消费者的统一规则,所有的服务都不检查-->

<dubbo:consumer check=”false”></dubbo:consumer>

进行测试,也可以调用完成,

如下:

image.png

dubbo consumer 配置的属性可参照官方文档 schema 手册 dubbo consumer,左键打开,即为服务消费者缺省值配置,同时也是<dubbo:reference>一些标签的默认设置,可以在默认设置上找到所有 reference 的规则。

另一种设置在启动时检查,除了配某一个服务启动时是否检查和所有服务启动时是否检查,还能配注册中心是否启动时检查,如果有注册中心那么启动一切正常,

如果没有注册中心,以前会默认报错,现在写上 check=“false“,服务启动时即使没有注册中心,暂时也不报错,注册中心什么时候启动起来,会连接上注册中心,包括可以看<dubbo:registry>这个标签的详细信息,在 schema 配置手册 dubbo:registry,

这是是注册中心的一些配置,其中check是来调整注册中心不存在时,是否报错,默认值为 true,可参照文档做很多调整。

相关文章
|
3月前
|
Linux Perl
在Linux中,系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
在Linux中,系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
|
6月前
|
SQL Windows
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
49 4
|
6月前
|
安全 关系型数据库 MySQL
卸载宝塔后,如何检查服务器运行状态?
通过上述方法,您可以全面检查服务器在卸载宝塔面板后的运行状态。如果发现问题,您可以根据错误信息或日志进行相应的故障排除。
|
6月前
|
文件存储 Docker Python
记录一次 nas docker 运行出错 使用Python脚本检查错误并重启对应容器 npc 运行出错 导致无法连接
记录一次 nas docker 运行出错 使用Python脚本检查错误并重启对应容器 npc 运行出错 导致无法连接
67 1
|
网络协议 关系型数据库 MySQL
解决本地计算机上的MySQL80服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
解决本地计算机上的MySQL80服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
4884 1
解决本地计算机上的MySQL80服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
|
关系型数据库 MySQL Java
【问题解决】mysql数据库启动时报服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
【问题解决】mysql数据库启动时报服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
【问题解决】mysql数据库启动时报服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
|
安全 网络协议 Linux
LINUX下如何查看tomcat运行状态,判断其是否启动
1,查看Tomcat启动日志。 ${catalina_home}\logs    [root@iZ25b4ffkfaZ logs]# tail -f catalina.outSep 10, 2015 11:50:00 AM org.
5386 1
|
Windows
在 win10 环境下,设置自己写的 程序 开机自动 启动的方法
原文:在 win10 环境下,设置自己写的 程序 开机自动 启动的方法 1、是登录自己用户时才能开机启 C:\Users\username\AppData\Roaming\Microsoft\Windows...
1227 0