SRE:Google运维解密
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

其他系统软件

其他几个运行在数据中心中的组件也很重要。

分布式锁服务

Chubby(参见文献[Bur06])集群锁服务提供一个与文件系统类似的API用来操作锁。Chubby 可以处理异地、跨机房级别的锁请求。Chubby 使用Paxos协议来提供分布式一致性(具体描述参看第23章)。

Chubby 是实现主实例选举(Master-Election)过程的关键组件。例如,一个服务有5个冗余实例在同时运行,但是只有一个实例可以处理对外请求,一般的做法是通过Chubby进行自动选举,选择一个实例成为主实例。

Chubby适合存放那种对一致性要求非常高的数据。例如BNS服务就使用Chubby存放BNS路径与IP地址:端口的对应关系。

监控与警报系统

监控系统是服务运维中不可或缺的部分。因此,我们在数据中心中运行了多个Borgmon监控程序实例(具体描述参见10章)。Borgmon 定期从监控对象抓取监控指标(Metric)。这些监控指标可以被用来触发警报,也可以存储起来供以后观看。主要有以下几种方式使用监控系统:

● 对真实问题进行报警。

● 对比服务更新前后的状态变化:新的版本是否让软件服务器运行得更快了?

● 检查资源使用量随时间的变化情况,这个信息对合理制定资源计划很有用。