eShopOnContainers学习系列(二):数据库连接健康检查

项目里使用数据库的时候,我们有时候需要知道数据库当前的健康状态,特别是当数据库连接不上的时候能够立马获悉。eShopOnContainers里存在着大量的服务健康、连接健康的检查,数据库连接是其中之一。

项目里的检查逻辑其实很简单,当然在真实的生产环境肯定会更加负载。这里通过异步的方式去数据库执行一条sql “select 1”,如果返回1那说明是正常的,如果返回的不是1或者报错了,那就说明连接出了问题,一般情况下,如果连接不上,基本就会报错进入catch,这个时候我们结合日志报警机制就可以及时获悉数据库出了问题并加以解决。

这个方法是在Startup启动类中执行的,并且给了一个检查的时间,不过我没法现这个时间的作用,本来以为是每隔一个时间段检查一次啊,但是调试的时候没有重复执行,蛋疼。

就先写到这里了。

原文地址:https://www.cnblogs.com/weiBlog/p/9748860.html

时间: 2024-10-12 20:56:05

eShopOnContainers学习系列(二):数据库连接健康检查的相关文章

ASP.NET MVC学习系列(二)-WebAPI请求

继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$.ajax({type:"get"}) 来实现: 请求的后台Action方法仍为上篇文章中的GetU

实战AD+Exchange升级系列之AD健康检查(一)

就目前来说微软的操作系统与邮件系统主流产品已经是Win server 2008与2012.Exchange2010与2013,Exchange server 2003的支持周期已经在今年的4月8号与XP一起结束,Win server 2003也将于2015年7月14号结束它的支持周期.但还有相当部分企业还在继续使用Win server 2003与Exchange 2003,最近就做了一个AD+EX的升级项目:AD由2003升级到2008.Exchange由2003升级到2010,在这里把我的一些

ASP.NET MVC学习系列(二)-WebAPI请求(转)

转自:http://www.cnblogs.com/babycool/p/3922738.html 继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$.ajax

Java学习系列(二十四)Java正则表达式详解

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/45501777 前言 正则表达式可以说是用来处理字符串的一把利器,它是一个专门匹配n个字符串的字符串模板,本质是查找和替换.在实例演示之前先了解一下Pattern.Matcher这两个工具类,Pattern:编译好的带匹配的模板(如:Pattern.compile("[a-z]{2}");/ / 取2个小写字母):Matcher:匹配目标字符串后产生的结果(如:pattern.m

Java I/O系统学习系列二:输入和输出

编程语言的I/O类库中常使用流这个抽象概念,它代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象.“流”屏蔽了实际的I/O设备中处理数据的细节. 在这个系列的第一篇文章:<<Java I/O系统学习系列一:File和RandomAccessFile>>中,我们讲到RandomAccessFile可以写入和读取文件,具备I/O功能,但是其只能针对文件,而I/O还涉及到很多其他场景比如网络.读取内存中的字符串等,所以Java类库中提供了一系列的类库来对其进行支持,也就是

数据库MYSQL学习系列二

一.MYSQL数据库对象与应用 2.1-MySQL数据类型 Number不止一种 · 整形 · 浮点型 整形 · INT · SMALLINT · MEDIUMINT · BIGINT type Storage Minumun Value Maximum Value (Bytes) (Signed/Unsigned) (Signed/Unsigned) TINYINT 1 -128 127 0 255 SMALLINT 2 -32768 32767 0 65535 MEDIUMINT 3 -83

eShopOnContainers学习系列(三):RabbitMQ消息总线实践

今天研究了下eShopOnContainers里的RabbitMQ的使用,在项目里是以封装成消息总线的方式使用的,但是仍然是以其发布.订阅两个方法作为基础封装的,我们今天就来实际使用一下. 为了简单起见,就在同一个API项目里实现发布订阅. 新建API项目 RabbitMQ_Bus_Test ,类库 EventBus.EventBusRabbitMQ,这两个类库中将会实现消息总线最主要的方法.发布订阅. 在EventBus中新增消息事件类:IntegrationEvent,这个类在事件里是作为一

Java学习系列(二十三)Java面向对象之内部类详解

一.前言 内部类也称寄生类,就是把一个类放在类里面(即内部类的上一级程序单元是类)定义,将其作为外部类的成员.内部类主要用几种定义形式:静态(static)内部类,非静态内部类,匿名内部类(也就是没有名字的寄生类).内部类的好处就是内部类可以直接外部类的(包括私有)成员,反之不能.下面我们通过一些实例来详细讲解一下Java中内部类的使用及几种定义形式的相互调用. 二.实例说明 (1)匿名内部类:当程序创建匿名内部类时,会立即创建匿名内部类(实现类)的实例. interface IBreathe

Java学习系列(二十一)Java面向对象之注解详解

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/45295947 一.前言 Java中的注解Annotation运用到很多方面,比如之前讲的单元测试中的@Test.Spring.SpringMVC还有其他框架等等.Java本身自带的注解也有一些,比如:@Override(子类要重写/覆写父类的对应方法).@Deprecated(表示方法不建议被使用).@SuppressWarnings(抑制警告)等等.当然,我们也可以自定义一些自己需要的