启动检查|学习笔记

简介: 快速学习启动检查

开发者学堂课程【阿里巴巴分布式服务框架 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月前
|
文件存储 Docker Python
记录一次 nas docker 运行出错 使用Python脚本检查错误并重启对应容器 npc 运行出错 导致无法连接
记录一次 nas docker 运行出错 使用Python脚本检查错误并重启对应容器 npc 运行出错 导致无法连接
30 1
|
关系型数据库 MySQL Java
【问题解决】mysql数据库启动时报服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
【问题解决】mysql数据库启动时报服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
【问题解决】mysql数据库启动时报服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
|
网络协议 关系型数据库 MySQL
解决本地计算机上的MySQL80服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
解决本地计算机上的MySQL80服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
3456 1
解决本地计算机上的MySQL80服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
|
关系型数据库 MySQL 数据库
MySQL服务启动:某些服务在未由其他服务或程序使用时将自动停止
这几天因为工作需求,需要把MySQL请出来,所以将尘封已久的MySQL进行启动。可是事与愿违,兴许是许久没有访问MySQL了,MySQL生气的不理我,并向外抛出一阵阵报错。 1、其中一个是:Windows无法启动MySQL57服务(位于本地计算机上)错误1067:进程意外终止,报错如下图所示。
4125 0
|
Windows
在 win10 环境下,设置自己写的 程序 开机自动 启动的方法
原文:在 win10 环境下,设置自己写的 程序 开机自动 启动的方法 1、是登录自己用户时才能开机启 C:\Users\username\AppData\Roaming\Microsoft\Windows...
1143 0
|
应用服务中间件 Shell
|
Oracle 关系型数据库 MySQL
oracle安装过程中先决条件检查失败的解决办法
1:公司数据库开始用的mysql,因为公司做的是保密性项目,所以就在项目日志过多的时候项目有爆炸的迹象啊(3000千万数据,貌似mysql有点撑不住)。然后组长开始让我安装oracle,公司的内网也是醉了,打开oracle官网都打不开。
894 0

热门文章

最新文章