奇妙的 Linux 世界

种一棵树最好的时间是十年前,其次是现在。

Prometheus 入门

什么是TSDB? TSDB(Time Series Database)时序列数据库,我们可以简单的理解为一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的。 时间序列数据库的特点 大部分时间都是写入操作。 写入操作几乎是顺序添加,大多数时候数据到达后都以时间排序。 写操作很少写入很久之前的数据,也很少更新数据。大多数情况在数据被采集到数秒或者数分钟后就会被写入数据库。......

最牛最暴力的开源协议 WTFPL

你知道这个世界上有多少种开源软件的许可证吗?GPL,BSD,MIT,Apache…等等。目前市面上有的的开源协议很多很多,至少有100多种。经过开源促进会(Open Source Initiative)认可的开源协议也多达70多种。 GNU上有个网页记录了几乎所有的开源软件的许可证:http://www.gnu.org/licenses/license-list.html。 那么,你知道怎么......

配置 Nginx 反向代理 WebSocket

用Nginx给网站做反向代理和负载均衡是广泛使用的一种Web服务器部署技术。不仅能够保证后端服务器的隐蔽性,还可以提高网站部署灵活性。 今天我们来讲一下,如何用Nginx给WebSocket服务器实现反向代理和负载均衡。 什么是反向代理和负载均衡 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器。并将内部服务......

通过 Consul-Template 实现动态配置服务

Consul-Template简介 Consul-Template是基于Consul的自动替换配置文件的应用。在Consul-Template没出现之前,大家构建服务发现系统大多采用的是Zookeeper、Etcd+Confd这样类似的系统。 Consul官方推出了自己的模板系统Consul-Template后,动态的配置系统可以分化为Etcd+Confd和Consul+Consul-Tem......

Consul 集群部署

在「Consul入门」一文中我们对Consul的基本知识点和单节点部署做了一些介绍,今天我们来讲讲Consul集群的部署方法。 Consul架构说明 上图是官网提供的一个事例系统图,图中的Server是consul服务端高可用集群,Client是consul客户端。consul客户端不保存数据,客户端将接收到的请求转发给响应的Server端。Server之间通过局域网或广域网通信实现数据一......

Consul 入门

Consul简介 Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。Consul是分布式的、高可用的、 可横向扩展的。它具备以下特性: 服务发现: Consul提供了通过DNS或者HTTP接口的方式来注册服务和发现服务。一些外部的服务通过Consul很容易的找到它所依赖的服务。 健康检测: Consul的Client提供了健康检查的机制,可以通过......

基于 Upsync 模块实现 Nginx 动态配置

Upsync是新浪微博开源的基于Nginx实现动态配置的三方模块。Nginx-Upsync-Module的功能是拉取Consul的后端server的列表,并动态更新Nginx的路由信息。此模块不依赖于任何第三方模块。Consul作为Nginx的DB,利用Consul的KV服务,每个Nginx Work进程独立的去拉取各个upstream的配置,并更新各自的路由。 Upsync模块工作原理 在......

推荐几款我喜欢的 Atom 插件

Atom是一个由GitHub开发的开源编辑器,采用MIT证书授权方式。支持OS X、Windows和Linux操作系统。Atom具有很强的扩展性,插件和主题非常丰富。Atom使用其内建的apm软件包管理器管理软件包和主题。 从TextMate转为使用Atom也有一段时间了,Atom越用越顺手。这里将我经常使用的一些插件分享给大家。 主题类 atom-material-ui 一个好用好看的......

在 Mesos 上使用 Chronos 运行计划任务

Chronost简介 Chronos是由Airbnb公司推出的用来替代Cron的开源产品,这是一个用来运行基于容器定时任务的Mesos框架。Chronos可处理依赖性和基于ISO8601的调度,你可以用它来对作业进行编排。支持使用Mesos作为作业执行器,支持和Hadoop进行交互。可定义作业执行完成后的触发器。支持任意长度的依赖链。 由于Chronos以ISO8601时间规范作为定时任务的......

使用 Mesos 和 Marathon 管理 Docker 集群

Mesos简介 Apache Mesos是一个分布式系统的管理软件,对集群的资源进行分配和管理。具体的介绍可参考 「Apache Mesos入门」一文,这里就不再重复介绍了。 项目地址:https://github.com/mesosphere Marathon简介 Marathon按照官方的说法是个基于Mesos的私有PaaS,它实现了Mesos的Framework。Marathon实现了......