论文部分内容阅读
互联网的发展已经成为了时代发展的代名词,人们对互联网服务的依赖程度逐步增强,对服务的稳定性和健壮性需求越来越强烈,而作为互联网服务核心层的数据层是决定服务质量的关键一层。大型互联网公司往往采用分布式的MySQL数据库集群提供数据服务,如果核心数据库节点发生故障或者数据库配置存在瓶颈,势必会影响服务的质量。因此,在线监测数据库状态,及时发现数据库异常和瓶颈,为数据库故障处理和优化提供支持和决策,这是互联网企业发展研究的重要课题,具有较大研究意义和实用价值。本文结合作者在腾讯科技公司搜索研发运营部从事的分布式MySQL数据库集群维护工作,提出并实现了一套适用于大型互联网公司的分布式MySQL数据库在线监测系统。本系统的后台使用C和C++语言实现,前台程序是使用PHP进行开发的,后台每分钟采集和加工出数据库集群各节点的监测指标数据,前台展示这些指标数据,展示方式主要是各指标的曲线图。实现后的本系统部署在分布式环境下,负责对腾讯搜索―问问社区‖业务以及广告业务的MySQL数据库集群进行在线监测,对异常状态进行告警,协助业务人员了解业务发展的规模和特点,调整业务环境,为优化数据库以及定位业务的瓶颈和缺陷提供支持。论文所研究的技术关键主要有如何全面监测分布式环境下MySQL数据库的运行状态,如何保证系统监测数据的在线性,如何实现MySQL数据库监测指标的可配置性,如何保证系统的高扩展性以良好集成未来新增监测需求,如何保证数据在复杂的网络环境下高效和稳定地传输等。通过本文的研究,最终完成了一套分布式的MySQL数据库集群在线监测系统,为工作人员提供一套完整的监测系统,提高工作的效率,有着较高的使用价值。