启动检查|学习笔记

简介: 快速学习启动检查

开发者学堂课程【阿里巴巴分布式服务框架 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,可参照文档做很多调整。

目录
打赏
0
0
0
0
220
分享
相关文章
Goedel-Prover:专为自动化数学问题的形式证明生成而设计的 LLM,快速解决形式化数学问题
Goedel-Prover 是一款由普林斯顿大学和清华大学等机构联合推出的开源模型,专注于自动化数学问题的形式证明生成。它通过将自然语言数学问题翻译成形式语言(如 Lean 4),显著提升了数学问题的证明效率。
428 4
Goedel-Prover:专为自动化数学问题的形式证明生成而设计的 LLM,快速解决形式化数学问题
mysql怎么查询longblob类型数据的大小
通过本文的介绍,希望您能深入理解如何查询MySQL中 `LONG BLOB`类型数据的大小,并结合优化技术提升查询性能,以满足实际业务需求。
458 6
HarmonyOS NEXT 实战系列01-ArkTS基础
ArkTS是HarmonyOS应用开发的首选语言,基于TypeScript扩展而成,保留了TS风格并强化静态检查与分析能力,提升程序稳定性和性能。它支持声明式UI开发、状态管理等功能,简化应用构建。语法涵盖变量、常量、数组、对象、语句(如if、switch)、函数(含箭头函数与泛型)、类和模块等特性,同时提供联合类型、字面量联合类型及枚举类型等丰富类型支持,助力开发者高效编写高质量代码。
猫步简历 - 开源免费AI简历生成器 | 一键导出PDF/JSON
猫步简历是一款免费开源的AI简历生成器,帮助用户轻松创建独特、专业的简历。支持导出超高清PDF、图片、JSON等多种格式,并提供AI智能创作、润色和多语种切换等功能。拥有海量模板、高度定制化模块及完善的后台管理系统,助力求职者脱颖而出。官网:https://maobucv.com,GitHub开源地址:https://github.com/Hacker233/resume-design。
1945 10
HarmonyOS NEXT 实战系列04-组件状态
本文介绍了ArkUI中组件状态的三种装饰器:@State、@Prop和@Link。@State用于定义状态变量,其变化驱动UI更新;@Prop实现父组件向子组件单向传值,子组件修改不会影响父组件;@Link则在父子组件间建立双向绑定,实现数据同步更新。通过示例代码详细展示了简单类型、对象类型及数组类型变量的操作方法,以及自定义组件的创建与复用,帮助开发者理解数据驱动UI的核心机制。
HarmonyOS NEXT 实战系列02-布局基础
ArkTS通过声明式编程构建应用UI,支持属性、事件和子组件配置。线性布局(LinearLayout)使用Row和Column实现水平或垂直排列,提供多种对齐方式如Start、Center等。基础组件如Text、Button具备通用属性(width、height等)与尺寸单位(vp、fp)。样式设置涵盖文本样式、背景、间距、边框等。扩展机制包括@Extend重用样式、@Styles简化样式定义、@Builder复用UI元素,支持条件渲染(if/else)和循环渲染(ForEach)。这些功能帮助开发者高效构建灵活的用户界面。
1.8.3 GNU编译器集合和LLVM项目
GNU项目自1987年起致力于开发自由UNIX软件,其成果之一GNU编译器集合(GCC)在指导委员会领导下持续演进,紧跟C语言标准。GCC适用于多种平台如UNIX、Linux和Windows,并常通过gcc或cc命令调用。另一方面,起源于2000年伊利诺伊大学研究项目的LLVM,提供了另一种开源编译器集合,其Clang编译器处理C代码,自2012年起成为FreeBSD默认C编译器,并良好支持最新C标准。
181 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问