上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
其他系统软件
其他几个运行在数据中心中的组件也很重要。
分布式锁服务
Chubby(参见文献[Bur06])集群锁服务提供一个与文件系统类似的API用来操作锁。Chubby 可以处理异地、跨机房级别的锁请求。Chubby 使用Paxos协议来提供分布式一致性(具体描述参看第23章)。
Chubby 是实现主实例选举(Master-Election)过程的关键组件。例如,一个服务有5个冗余实例在同时运行,但是只有一个实例可以处理对外请求,一般的做法是通过Chubby进行自动选举,选择一个实例成为主实例。
Chubby适合存放那种对一致性要求非常高的数据。例如BNS服务就使用Chubby存放BNS路径与IP地址:端口的对应关系。
监控与警报系统
监控系统是服务运维中不可或缺的部分。因此,我们在数据中心中运行了多个Borgmon监控程序实例(具体描述参见10章)。Borgmon 定期从监控对象抓取监控指标(Metric)。这些监控指标可以被用来触发警报,也可以存储起来供以后观看。主要有以下几种方式使用监控系统:
● 对真实问题进行报警。
● 对比服务更新前后的状态变化:新的版本是否让软件服务器运行得更快了?
● 检查资源使用量随时间的变化情况,这个信息对合理制定资源计划很有用。