Gordon


  • 首页

  • 关于

  • 归档

  • 标签

  • 搜索

Druid连接池监控

发表于 2017-08-27

1. 普通的web监控

阿里开源的连接池Druid自带了web监控的功能,具体的操作在其github的wiki上可以找到:配置_StatViewServlet配置 · alibaba/driud wiki

其实主要就是配置一个Servlet,但是github wiki上的做法只能在druid所在的项目中启用web服务的做法,在如今盛行的微服务架构中,很多时候druid所在的服务里并不提供web服务,这就需要额外的配置。其实druid本身也提供了这种功能,只是wiki里没有说。

druid本身可以通过启用JMX端口来将监控数据传输到远端进行处理,具体做法是:

  1. 在启动服务的时候加上JVM启动参数(下文说)
  2. 在远端启用web服务,配置StatViewServlet,在initParam中指定JMX地址
阅读全文 »

持续集成简述

发表于 2017-07-24

1 概述

互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration, CI)。持续集成也被认为是敏捷开发的最重要实践之一。

本文主要介绍持续集成的概念以及一些工具与实践。

2 概念

图2.1 持续集成概念示意图之一
图2.1 持续集成概念示意图之一

上图来源于谈谈持续集成,持续交付,持续部署之间的区别,这图很直观地描述了持续集成相关的概念之间的关系,与持续集成密切相关的概念还有持续交付、持续部署,因此在下文将会就这三个概念进行阐述。

阅读全文 »

一种RESTful接口的约定

发表于 2017-07-24

1 概述

1.1 撰写目的

本文用于定义一种统一的RESTful接口设计方案,希望具有参考价值。本文所描述的方案比较学院派(死板),在上一家公司提出没有被采纳,在所了解到的有限的若干家声称采用了RESTful风格的公司里,发现他们也偏离甚远,而在书本以及网上大部分介绍RESTful的资料里,却都是这样的方案(URL命名风格、请求与响应的设计)。当然,他们这么做是有理由的,我也理解,这只是取舍问题。这篇文章其实是旧文了,2016年年底就已经写好,但是一直躺在电脑的硬盘里,不想白费了当时的功夫,因此在此公开。

1.2 为什么采用REST

目的是为了服务端与客户端的解耦。SOA仅仅是从结构上将前后端分离,但是实际上数据逻辑还是没有实现解耦,服务端接口升级往往会影响客户端,两者的行为需要严格约定。而REST采用HTTP协议进行约定,客户端仅仅需要按照HTTP协议来理解服务端返回的数据,虽然与业务相关的数据结构还是需要约定,但是这确实进一步解耦了服务端与客户端。

另外,由于严格遵照HTTP协议进行数据返回,对于安全的接口,可以在返回的Header里设置缓存策略(接口安全性的概念在下文会解释)。

阅读全文 »
12
Gordon

Gordon

13 日志
15 标签
RSS
© 2019 Gordon
联系我
UV PV