使用meerkat进行服务监控和服务降级

2017-06-10
阅读 9 分钟
5.6k
meerkat 是用于服务监控以及服务降级基础组件,主要为了解决调用外部接口的时候进行成功率,响应时间,QPS指标的监控,同时在成功率下降到预设的阈值以下的时候自动切断外部接口的调用,外部接口成功率恢复后自动恢复请求。本文将对使用方式以及进阶特性进行介绍。

【监控系统】配合Graphite使用的报警系统

2017-06-04
阅读 24 分钟
8.8k
我们的监控系统采用的是 collectd收集,graphite存储,grafana展示的架构,好处是新添加的服务可以自动接入,并且图形化的展示页比较直观,但是不足之处是整个体系中没有能够在指标出现问题的时候进行报警通知的功能。经过尝试了多种报警系统,我们最终选定了seyren作为报警组件,本文会介绍尝试过的其他组件以及优缺点。

【监控系统】使用collect进行进程监控

2017-05-07
阅读 1 分钟
5.5k
进程的监控能够告诉我们用用服务是否存活以及进程消耗的资源情况,本文将介绍如何使用collectd进行进程的监控,文中所有提到的配置修改都是在collectd.conf这个配置文件,这里我们假设系统中已经安装了collectd并且配置了数据上报插件,例如write_graphite

MyBatis 使用annonation定义类型映射

2017-02-18
阅读 3 分钟
3k
介绍如何使用annonation的方式定义数据库字段到Java成员变量直接的映射关系,以及定义数据库表中的类型到Java类型的自定义转换。关于如何配置MyBatis进行Java对象和Mysql表之间的映射可以参照 MyBatis 基本用法

MyBatis 基本用法

2017-02-18
阅读 2 分钟
2.6k
MyBatis 有两种定义查询结果到 Java 类的映射关系的方式,一种是通过xml文件定义,一种是通过Java annonation 定义,这里使用第二种方法。现在我们有一张mysql的表定义如下:

通过maven管理不同环境下的配置文件

2017-02-18
阅读 4 分钟
7.6k
在实际用中,我们的Java服务通常要部署在不同的环境中,并且每个环境有只适用于本环境的配置文件。例如测试环境需要连接测试数据库,生产环境又会在不同的机房进行服务部署,需要连接本机房的数据库从库。同时,每个环境的配置又有很多相同的部分,比如cache的超时时间等。本文介绍如何使用maven进行多个部署环境的配置...

ThreadPoolExecutor策略配置以及应用场景

2017-02-18
阅读 5 分钟
17.6k
ThreadPoolExecutor 是用来处理异步任务的一个接口,可以将其理解成为一个线程池和一个任务队列,提交到 ExecutorService 对象的任务会被放入任务队或者直接被线程池中的线程执行。ThreadPoolExecutor 支持通过调整构造参数来配置不同的处理策略,本文主要介绍常用的策略配置方法以及应用场景。

OWNER支持配置文件目录的继承

2017-02-18
阅读 2 分钟
3.2k
什么是OWNER OWNER 是一个开源项目,旨在解决Java配置文件的解析问题。 例如配置文件 /data/config.properties 包含下列内容: {代码...} 为了解析这个配置文件,我们首先定义一个Java接口: {代码...} 加载配置文件: {代码...} 配置文件路径的继承 在实际应用中,配置文件内容上一般会包括多个分组,每一个分组定义成一...

使用graphite和grafana进行应用程序监控

2016-11-20
阅读 4 分钟
23.4k
grafana,按照官方的说法是 Beautiful metric & analytic dashboards。grafana 负责数据的展示,可以配置各种不同的数据源,其中包括 graphite。

GenericObjectPool 避免泄漏

2016-09-12
阅读 2 分钟
10.1k
GenericObjectPool 是 Apache Commons Pool 提供的对象池,使用的时候需要调用 borrowObject 获取一个对象,使用完以后需要调用 returnObject 归还对象,或者调用 invalidateObject 将这个对象标记为不可再用。

Java服务GC参数调优案例

2016-05-22
阅读 3 分钟
16.8k
我们的Java HTTP服务属于OLTP类型,对成功率和响应时间的要求比较高,在生产环境中出现偶现的成功率突然下降然后又自动恢复的情况,如图所示: