技术篇

Prometheus源码笔记(5)-retrieval模块

retrieval模块主要用于管理监测目标和提供对于监测目标的指标数据的抓取,是Prometheus中核心的数据捕获组件。本节内容将针对该模块中重要的组成代码和核心逻辑进行简要的分析。


Prometheus源码笔记(4)-web模块

Prometheus的web模块主要提供web相关的操作和federate功能(层次化部署接口),并提供Prometheus的http api接口对外提供服务。


Prometheus源码笔记(3)-notifier模块

Prometheus服务器根据规则发送告警到AlertManager,告警管理器根据接收到的告警进行分发处理,经过分组或者过滤等发送到邮件或者其他接收系统中。


Prometheus源码笔记(2)-config模块

config模块主要用于配置文件的加载与管理操作,从config.yml文件中传递的数据将会用于生成一个config结构体对象,全局的config定义如下。通过"gopkg.in/yaml.v2"解析yaml模块并按照所属的组再细分到单独的配置项目中,比如global和alert组下的配置。本节将通过一个实例来解释模块对于config的配置过程。


Prometheus源码笔记(1)-cmd模块

cmd/prometheus模块作为程序的入口主要执行程序的初始化和组件的启动工作,核心代码位于cmd/prometheus/main.go中。本节主要是对于该模块的阅读记录,并对于核心处理逻辑进行解释。


软件开发的十二因素

本篇文章主要介绍现在流行的应用开发中会涉及到的主要的12个因素,其中每一部分内容又会涉及很多扩展的内容,比如选择合适的工具和方法来满足构建需求。十二因素也为开发应用程序提供了一定的构建方法指导。


Bolt:一个纯Go实现的KV数据库

bolt是一个纯go语言实现的键值数据库,支持完全的ACID实务操作,尽管不像SQLite那样有完善的查询语言,但是接口简单易用。bolt本身通过使用一个内存映射的磁盘文件来管理数据,逻辑清晰,接口简单易用。下面代码就是bolt提供的简单的操作接口示例。


关于2017年KSK轮转

最近信息更新:9月28日 ICANN推迟了原本10月11日的签名操作,具体操作时间未通知!


一致性问题的相关笔记

数据库设计事务处理的时候通常会借助于ACID特性来保证写入和更新资料的数据完整可靠,ACID特性指的是...


区块链笔记

区块链技术的发展起源于2008年中本聪发表的一篇论文《比特币,一种点对点的电子现金系统》,后逐步的演变成为更加关注与底层实现技术的区块链技术。本身并没有新的技术内容,只是将原有的很多内容融合在一起,比如密码学,P2P, 共识机制,智能合约等。